MainActivity.java
package com.codinginflow.firststartexample; import android.content.DialogInterface; import android.content.SharedPreferences; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SharedPreferences prefs = getSharedPreferences("prefs", MODE_PRIVATE); boolean firstStart = prefs.getBoolean("firstStart", true); if (firstStart) { showStartDialog(); } } private void showStartDialog() { new AlertDialog.Builder(this) .setTitle("One Time Dialog") .setMessage("This should only be shown once") .setPositiveButton("ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }) .create().show(); SharedPreferences prefs = getSharedPreferences("prefs", MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); editor.putBoolean("firstStart", false); editor.apply(); } }