2013-01-20 60 views
0

这是我的应用程序搜索所有已安装的应用程序以确定这些应用程序的版本。然后将应用程序的名称与其版本存储在同一个文件中。如果新版本的应用程序可用,则将通知发送给用户。问题是“如何从我的应用程序中学习其他应用程序的版本?”如何从自己的应用程序中确定应用程序版本

感谢您的帮助

+1

Play商店提供的版本名称,不是版本的代码,这是一个字符串,因此它可以是任何东西(活动或其他任何情况下的内部) - 这是不是增量的。虽然你可以从已安装的应用中获得'versionCode'(这是一个int),但是你不能检查任何东西。如果你使用'versionName',那么你会得到一个不太确定的检查。 –

+2

您是使用Google Play商店还是您自己的“商店”?如果是前者,则不需要此操作,因为Play商店会处理所有更新。如果是后者,那么你的商店应该实现一个返回最新'versionCode'的API。 – 323go

回答

1

像这样的东西应该努力获取最新版本:

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

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

获取Play商店并未真正发挥作用的最新版本,虽然。就像A - C说的,你可以检查versionName,如果两者不完全相同(不必担心更高/更低,只是不平等),只需通知更新。

0

,你可以做以下

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