web-dev-qa-db-fra.com

Obtenir la version de construction de l'application actuelle - Xamarin.Android

J'ai besoin d'afficher la version de construction de l'application sur ma page de paramètres.

Alors, comment puis-je obtenir les versionCode et versionName de AndroidManifest.xml fichier par programmation.

Ou

Existe-t-il un moyen d'obtenir la version de build par programme dans xamarin.forms.

15
Tushar patel

Pour le nom de la version:

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

Pour le code de version:

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

Avec un service de dépendance:

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

    }
}

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

    }
}

Et l'interface:

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

Dans Xamarin.Android vous pouvez toujours essayer:

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

puis vous devrez utiliser injection de dépendance pour appeler cette méthode à partir de votre Xamarin.Forms projet.

1
user1

Dans Xamarin.Essentials vous pouvez utiliser ce qui suit:

Version version = AppInfo.Version;

De là, vous pouvez obtenir la version de build.

Si vous voulez vraiment juste le numéro de build, vous pouvez également utiliser le raccourci:

string buildNumber = AppInfo.BuildString;
0
Kithoras Carzyl