アプリのビルドバージョンを設定ページに表示する必要があります。
したがって、AndroidManifest.xml
ファイルからプログラムでversionCode
およびversionName
を取得するにはどうすればよいですか。
または
xamarin.forms
でビルドバージョンをプログラムで取得する方法はありますか?.
バージョン名の場合:
Application.Context.ApplicationContext.PackageManager.GetPackageInfo(Application.Context.ApplicationContext.PackageName, 0).VersionName
バージョンコードの場合:
Application.Context.ApplicationContext.PackageManager.GetPackageInfo(Application.Context.ApplicationContext.PackageName, 0).VersionCode
依存関係サービスの場合:
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; }
}
Xamarin.Android
では、いつでも試すことができます。
public double GetAppVersion()
{
var info = AppContext.PackageManager.GetPackageInfo(AppContext.PackageName, 0);
return info.VersionCode;
}
次に、 依存性注入 を使用して、Xamarin.Forms
プロジェクトからこのメソッドを呼び出す必要があります。
Xamarin.Essentials では、以下を使用できます。
Version version = AppInfo.Version;
そこからビルドバージョンを取得できます。
ビルド番号だけが本当に必要な場合は、ショートカットを使用することもできます。
string buildNumber = AppInfo.BuildString;