私は、アプリケーションのメインアクティビティの起動時に警告ダイアログを表示するアプリケーションを作成していますが、別のアクティビティからメインアクティビティに戻ると、私は一度、アプリ起動時に警告ダイアログを表示したい、それを行う方法?アプリの起動ごとに警告ダイアログを表示する方法
if(isFirstRun) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this);
alertDialog.setTitle("Alert");
alertDialog.setMessage("You need to have Mobile data or Wifi to access all features.");
alertDialog.setIcon(R.drawable.ic_error);
alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alertDialog.show();
}
isFirstRun = false;
ワーキングコード: -
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = sharedPreferences.edit();
boolean isFirstRun = sharedPreferences.getBoolean("IS_FIRST_RUN", true);
if(isFirstRun == true) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this);
alertDialog.setTitle("Alert");
alertDialog.setMessage("You need to have Mobile data or Wifi to access all features.");
alertDialog.setIcon(R.drawable.ic_error);
alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alertDialog.show();
// Update
editor.putBoolean("IS_FIRST_RUN", false);
editor.commit();
}
オーバーライドonDestroy方法: -
@Override
protected void onDestroy() {
super.onDestroy();
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = sharedPreferences.edit();
// Update
editor.putBoolean("IS_FIRST_RUN", true);
editor.commit();
}
投稿したコードを投稿しますか? –
@PrerakSolaは私が今使っているが動作していないコードを追加しました –
共有環境設定でタグを設定してみませんか?ダイアログが最初に表示されたら、その値をtrueに設定し、次回戻ったときにfalseであるかどうかをチェックしてからshow、それ以外の場合は非表示にします。 – Eenvincible