2013-01-20 58 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