2012-11-02 30 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创建功能请求以添加此功能。

相关问题