Desidero che la mia app abbia un'attività che mostri istruzioni su come utilizzare l'app. Tuttavia, questa schermata "istruzioni" deve essere mostrata solo una volta dopo un'installazione, come si fa?Attività che viene avviata solo una volta dopo una nuova installazione?
6
A
risposta
15
È possibile verificare se un flag speciale (chiamiamolo firstRun
) è impostato nell'applicazione SharedPreferences
. Altrimenti, è la prima esecuzione, quindi mostra la tua attività/popup/qualsiasi cosa con le istruzioni e poi imposta il firstRun
nella preferenza.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences settings = getSharedPreferences("prefs", 0);
boolean firstRun = settings.getBoolean("firstRun", true);
if (firstRun)
{
// here run your first-time instructions, for example :
startActivityForResult(
new Intent(context, InstructionsActivity.class),
INSTRUCTIONS_CODE);
}
}
// when your InstructionsActivity ends, do not forget to set the firstRun boolean
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == INSTRUCTIONS_CODE) {
SharedPreferences settings = getSharedPreferences("prefs", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("firstRun", false);
editor.commit();
}
}
1
sì, si può risolvere questo problema con SharedPreferences
SharedPreferences pref;
SharedPreferences.Editor editor;
pref = getSharedPreferences("firstrun", MODE_PRIVATE);
editor = pref.edit();
editor.putString("chkRegi","true");
editor.commit();
Poi controlla String chkRegi tura o falso
Dovrebbe essere: 'editor.putBoolean ("FirstRun", false) ; 'invece di' editor.putBoolean ("firstRun", true); ' – 70sCommander