Try using the application version code . Below is an example of the code I used;
SharedPreferences sharedPreferences = getSharedPreferences("version", 0); int savedVersionCode = sharedPreferences.getInt("VersionCode", 0); int appVershionCode = 0; try { appVershionCode = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode; } catch (NameNotFoundException nnfe) { Log.w(TAG, "$ Exception caz of appVershionCode : " + nnfe); } if(savedVersionCode == appVershionCode){ Log.d(TAG, "$$ savedVersionCode == appVershionCode"); }else{ Log.d(TAG, "$$ savedVersionCode != appVershionCode"); SharedPreferences.Editor sharedPreferencesEditor = sharedPreferences.edit(); sharedPreferencesEditor.putInt("VersionCode", appVershionCode); sharedPreferencesEditor.commit(); Builder alertDialogBuilder = new Builder(this); alertDialogBuilder.setTitle("Version"); alertDialogBuilder.setMessage("This is one time show dialog box "); alertDialogBuilder.setNeutralButton("Close", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Log.d(TAG, "$$ onClick"); } }); alertDialogBuilder.show(); }
source share