私は、共有された環境設定を使用して、アプリケーションが起動された回数を保存しています。最初の起動時にのみ、Welcomeのメッセージが表示され、そのバージョンの新機能や変更についてユーザーに伝えます。アップデート/アンインストール時のSharedPreferencesの動作
しかし、私はアプリを再インストールしたり、アプリケーションをアップグレードすることに慣れていたので、以前の共有プリファレンスを削除することはできません。私はソフトウェアを再インストールするか、それをアップグレードするときにダイアログを表示したいと思います。
ランチャ
public class AppLauncher {
static long launch_count = 0;
private static boolean isLaunch = false;
public static void app_launched(Context mContext) {
System.out.println("I m in AppLauncher");
SharedPreferences prefs = mContext.getSharedPreferences("apprater", 0);
if (prefs.getBoolean("dontshowagain", false)) {
return;
}
SharedPreferences.Editor editor = prefs.edit();
// Increment launch counter
launch_count = prefs.getLong("launch_count", 0);
editor.putLong("launch_count", launch_count);
System.out.println("launch_count=" + launch_count);
if (launch_count == 0 || launch_count == 1) {
// showLaunchDialog(mContext);
isLaunch = true;
}
if (isLaunch == true) {
showLaunchDialog(mContext);
isLaunch = false;
}
editor.commit();
}
public static void showLaunchDialog(Context mcontext) {
final Dialog dialog = new Dialog(mcontext);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.whatsnew);
Button dismisButton = (Button) dialog.findViewById(R.id.dismisButtom);
System.out.println("inside dialog_started");
dismisButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
dialog.dismiss();
}
});
dialog.show();
}
}
... – ngesh