2016-11-17 6 views
0

Androidでアプリをインストールする際に、このインストールが新鮮である(つまり、デバイスに古いバージョンのアプリがインストールされていない)か、新鮮でないかどうかを確認できますか?デバイスにインストールされている古いバージョンのアプリです。これはちょうどアップデートされたバージョンです)。Android:アプリのインストールが新鮮であるか、古いバージョンのアプリがインストールされているかどうかを確認できますか?

私は何かしたいですが、インストールが新鮮で、古いバージョンがデバイスにインストールされていない場合に限ります。このような古いバージョンがインストールされている場合は、何も実行しないでください。 SystemUtilsのようなものを探していましたが、何も見つかりませんでした。

+0

アプリの実行時にデータがあるかどうかを確認します。データがある場合は、以前のバージョンのアプリがインストールされています。 – CommonsWare

答えて

0

これは理想的な解決策ではありません。 1.アプリケーションのローカルデータベースを作成し、バージョン番号と日付を保存する 2.アプリケーションの起動時または最初のアクティビティ開始時にこれらの2つのフィールドを計算してください 3.バージョン番号は既に存在しているものと同じですデータベース内のエントリは、新しい日付で日付を上書きします。 4.アプリをアップデートすると、現在のバージョン番号でこのバージョン番号を確認できます。一致しない場合は、新しいバージョンを確認できます。

0

次のコードは、アプリの新しいバージョンインストールされている:

private boolean showHelpOnFirstLaunch() { 
    try { 
     PackageInfo info = getPackageManager().getPackageInfo(PACKAGE_NAME, 0); 
     int currentVersion = info.versionCode; 
     SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
     int lastVersion = prefs.getInt(PreferencesActivity.KEY_HELP_VERSION_SHOWN, 0); 
     if (currentVersion > lastVersion) { 
      //save the current version in order to compare it the next time a newer version is installed 
      prefs.edit().putInt(PreferencesActivity.KEY_HELP_VERSION_SHOWN, currentVersion).commit(); 
      /* do what you want here */ 
      return true; 
     } 
    } catch (PackageManager.NameNotFoundException e) { 
     Log.w(TAG, e); 
    } 
    return false; 
} 

PreferencesActivityすることは私のプロジェクトの活動であるが、それはに解決静的なリファレンスです:public static final String KEY_HELP_VERSION_SHOWN = "preferences_help_version_shown";

あなたが聞いて何をはるかに簡単です、あなただけチェックできますlastVersion>0が存在する場合。そうでない場合は、デバイスに初めてアプリをインストールしたことを意味します。

関連する問題