2013-01-20 3 views
0

Le scénario consiste en ce que mon application recherche toutes les applications installées afin de déterminer les versions de ces applications. Puis stocker le nom de l'application avec ses versions sur le même fichier. Si une nouvelle version de l'application est disponible, donnez une notification à l'utilisateur. La question est "comment puis-je apprendre la version de l'autre application de mon application?"comment déterminer une version d'application à partir de votre propre application

Merci pour votre aide

+1

Le magasin de jeu fournit le nom de la version, pas le code de version, qui est une chaîne, et il peut donc être quelque chose - il est pas incrémental. Bien que vous puissiez obtenir le 'versionCode' (qui est un int) de vos applications installées, vous ne pouvez rien vérifier. Si vous utilisez 'versionName', vous obtenez une vérification non-certaine. –

+2

Utilisez-vous le Google Play Store ou votre propre "magasin"? Si le premier, vous n'aurez pas besoin de cela, car le magasin de jeu prend soin de toutes les mises à jour. Si ce dernier, alors votre magasin devrait implémenter une API retournant le dernier 'versionCode'. – 323go

Répondre

1

Quelque chose comme cela devrait fonctionner pour obtenir la version actuelle:

List<PackageInfo> packages = getPackageManager().getInstalledPackages(); 

for(int i=0;i<packages.size();i++) 
{ 
    int version = packages.get(i).versionCode; 
    // do whatever with it here 
} 

Obtenir la version la plus récente du Play Store ne fonctionne pas vraiment, cependant. Comme A - C a dit, vous pouvez vérifier versionName à la place, et juste notifier comme mis à jour si les deux ne sont pas exactement les mêmes (ne vous inquiétez pas plus haut/bas, juste l'inégalité).

0

Vous pouvez faire suivant (à l'intérieur de l'activité ou tout autre contexte)

getPackageManager().getPackageInfo(getPackageName(), 0).versionName 
getPackageManager().getPackageInfo(getPackageName(), 0).versionCode 
Questions connexes