2012-11-02 71 views
2

我有一個廣播接收器在發送PACKAGE_REPLACED意圖時被註冊通知。 在onReceiver中,我需要根據已替換的軟件包版本執行一些操作。 有沒有辦法獲得這些信息?我試過了:獲取已在Android中替換的軟件包版本

Uri data = intent.getData(); 
final String intentPackageName = data.getEncodedSchemeSpecificPart(); 
pi = context.getPackageManager().getPackageInfo(intentPackageName , PackageManager.GET_META_DATA); 
versionCode = pi.versionCode; 
versionName = pi.versionName; 
packageName = pi.packageName; 

它不工作,因爲版本已經被替換,我得到的是新的而不是舊的。

+0

您可以將版本存儲在某處(例如,在SharedPreferences中)。而不是在更換包裝時閱讀它。當然,你應該保證SharedPreferences中的版本仍然是實際的。 –

+0

問題是舊版本沒有這個號碼。無論如何是的,我知道有辦法解決這個問題,但我想知道是否有正確的方法來讀取信息 – kingston

+0

哦,我明白了。沒有想過這個。 –

回答

0

剛剛檢查了薑餅版本的來源。我想這是不可能檢查的。未存儲應用程序的先前版本。我不知道爲什麼。您可以向Google創建功能請求以添加此功能。

相關問題