web-dev-qa-db-ja.com

現在のアプリのビルドバージョンを取得する-Xamarin.Android

アプリのビルドバージョンを設定ページに表示する必要があります。

したがって、AndroidManifest.xmlファイルからプログラムでversionCodeおよびversionNameを取得するにはどうすればよいですか。

または

xamarin.formsでビルドバージョンをプログラムで取得する方法はありますか?.

15
Tushar patel

バージョン名の場合:

Application.Context.ApplicationContext.PackageManager.GetPackageInfo(Application.Context.ApplicationContext.PackageName, 0).VersionName

バージョンコードの場合:

Application.Context.ApplicationContext.PackageManager.GetPackageInfo(Application.Context.ApplicationContext.PackageName, 0).VersionCode
22
Parth Patel

依存関係サービスの場合:

IOSの場合:

using Foundation;

[Assembly: Xamarin.Forms.Dependency(typeof(Screen_iOS))]

namespace XXX.iOS
{
    public class Screen_iOS : IScreen
    {

        public string Version
        {
            get
            {
                NSObject ver = NSBundle.MainBundle.InfoDictionary["CFBundleShortVersionString"];
                return ver.ToString();
            }
        }

    }
}

アンドロイド用:

using Xamarin.Forms;

[Assembly: Dependency(typeof(ScreenAndroid))]

namespace XXX.Droid
{
    class ScreenAndroid : Java.Lang.Object, IScreen
    {

        public string Version
        {
            get
            {
                var context = Forms.Context;
                return context.PackageManager.GetPackageInfo(context.PackageName, 0).VersionName;
            }
        }

    }
}

そしてインターフェース:

interface IScreen
{
    string Version { get; }
}
30
Mario Galván

Xamarin.Androidでは、いつでも試すことができます。

public double GetAppVersion()
{
   var info = AppContext.PackageManager.GetPackageInfo(AppContext.PackageName, 0);
   return info.VersionCode;
}

次に、 依存性注入 を使用して、Xamarin.Formsプロジェクトからこのメソッドを呼び出す必要があります。

1
user1

Xamarin.Essentials では、以下を使用できます。

Version version = AppInfo.Version;

そこからビルドバージョンを取得できます。

ビルド番号だけが本当に必要な場合は、ショートカットを使用することもできます。

string buildNumber = AppInfo.BuildString;
0
Kithoras Carzyl