繁体   English   中英

如何在应用程序中检测Android系统是否已升级?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM