Penso che si possa utilizzare smth come questo nella tua attività per verificare se è l'ultimo :
private boolean isLastActivity() {
final ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final List<RunningTaskInfo> tasksInfo = am.getRunningTasks(1024);
final String ourAppPackageName = getPackageName();
RunningTaskInfo taskInfo;
final int size = tasksInfo.size();
for (int i = 0; i < size; i++) {
taskInfo = tasksInfo.get(i);
if (ourAppPackageName.equals(taskInfo.baseActivity.getPackageName())) {
return taskInfo.numActivities == 1;
}
}
return false;
}
Ciò richiederà anche di aggiungere un permesso per il vostro AndroidManifest.xml:
<uses-permission android:name="android.permission.GET_TASKS" />
Così nel vostro ACTIVITA si può semplicemente utilizzare il seguente:
public void onBackPressed() {
if (isLastActivity()) {
showDialog(DIALOG_EXIT_CONFIRMATION_ID);
} else {
super.onBackPressed(); // this will actually finish the Activity
}
}
Poi nel youd dialogo gestire il tasto di scatto per chiama Activity.finish().
fonte
2010-10-28 19:23:33
Sei sicuro di voler fare questo? Sembra piuttosto fastidioso. L'utente scopre rapidamente cosa significa back e capisce che potrebbero essere usciti dall'app. –
Cosa c'è nel caso del voto negativo? Dice chiaramente di votare le domande "non chiare o non utili", questo non è né l'uno né l'altro. Potrebbe non essere il modo consigliato di fare le cose, ma non credo che questa domanda debba essere votata per questo. Votare di nuovo. – ShadowGod