[英]How to detect in application if Android system is upgraded?
我的应用程序需要能够检测系统是否成功升级,但是可能是由于同一版本的系统映像引起的,是否有任何方法可以检查系统升级是否成功,而不管操作系统版本是否更改?
您的Application.onCreate可以将包的最后更新时间与存储的最后更新时间进行比较。 如果时间不同,则说明该应用程序已“更新”(即使版本并未实际更改)。
例如,它可以像下面的方法一样调用wasUpdated
方法。 (此方法在首次调用时始终返回true,但您可以对其进行修改以使其不执行此操作。)
static final String PREF_LAST_UDATE_TIME = "pref_last_update_time";
static boolean wasUpdated(Context context) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
long storedLut = prefs.getLong(PREF_LAST_UDATE_TIME, -1);
long lut = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).lastUpdateTime;
if (storedLut != lut) {
prefs.edit().putLong(PREF_LAST_UDATE_TIME, lut).apply();
return true;
}
return false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.