Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取当前应用程序';s构建版本-Xamarin.Android_Xamarin_Xamarin.android_Xamarin.forms - Fatal编程技术网

获取当前应用程序';s构建版本-Xamarin.Android

获取当前应用程序';s构建版本-Xamarin.Android,xamarin,xamarin.android,xamarin.forms,Xamarin,Xamarin.android,Xamarin.forms,我需要在我的设置页面中显示应用的构建版本 那么,如何以编程方式从AndroidManifest.xml文件中获取versionCode和versionName 或 在xamarin.Android的xamarin.forms中,是否有任何方法可以通过编程方式获取构建版本您可以随时尝试: public double GetAppVersion() { var info = AppContext.PackageManager.GetPackageInfo(AppContext.PackageN

我需要在我的设置页面中显示应用的构建版本

那么,如何以编程方式从
AndroidManifest.xml
文件中获取
versionCode
versionName


xamarin.Android
xamarin.forms

中,是否有任何方法可以通过编程方式获取构建版本您可以随时尝试:

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

然后,您需要使用从
Xamarin.Forms
项目调用此方法。

使用依赖项服务:

对于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();
            }
        }

    }
}
对于Android:

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; }
}

版本名称:

Application.Context.ApplicationContext.PackageManager.GetPackageInfo(Application.Context.ApplicationContext.PackageName, 0).VersionName
版本代码:

Application.Context.ApplicationContext.PackageManager.GetPackageInfo(Application.Context.ApplicationContext.PackageName, 0).VersionCode
在中,您可以使用以下选项:

Version=AppInfo.Version;
从那里您可以获得构建版本

如果您确实只需要内部版本号,也可以使用快捷方式:

string buildNumber=AppInfo.BuildString;

请注意,只有当我在注册属性中使用完整名称空间时,它才对我起作用,在本例中是:assembly:Dependency(typeof(XXX.Droid.ScreenAndroid))]Forms.Context已过时。改用Android.App.Application.Context。