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;
它不工作,因为版本已经被替换,我得到的是新的而不是旧的。
您可以将版本存储在某处(例如,在SharedPreferences中)。而不是在更换包装时阅读它。当然,你应该保证SharedPreferences中的版本仍然是实际的。 –
问题是旧版本没有这个号码。无论如何是的,我知道有办法解决这个问题,但我想知道是否有正确的方法来读取信息 – kingston
哦,我明白了。没有想过这个。 –