2017-06-26 3 views

答えて

0

お客様の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; 
} 
関連する問題