2016-06-13 4 views
0

Ich möchte ein Bestätigungsdialogfeld einstellen, wenn der Benutzer die Taste des Handys drückt. Es sollte vom Benutzer gefragt werden, "Möchten Sie beenden?".Wie Bestätigungsdialogfeld auf Handy zurück Schaltfläche in Android App anzeigen?

+0

Sie könnten ein Alertdialog hinzufügen und dann MainActivity.finish nennen() wenn sie auf die richtige Schaltfläche klicken. – Jay

+0

okay, ich werde den AlertDialog verwenden, aber wie ich es mit Mobile-Back-Taste klicken werde klicken. Ich bekomme dieses Ding nicht. – Noor

+0

Ich habe eine Antwort für Sie hinzugefügt. – Jay

Antwort

0

diesen Code hinzufügen:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     showDialog(); 
    } 
    return super.onKeyDown(keyCode, event); 
} 

Dann fügen Sie diese unter:

public void showPauseDialog() { 

    new AlertDialog.Builder(ExerciseActivity.this) 
      .setTitle("Are you sure you want to exit?") 
      .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        //leave activity 
        this.finish(); 
       } 
      }) 
      .setNegativeButton("No", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        //do nothing 
       } 
      }) 
      .setIcon(android.R.drawable.ic_dialog_alert) 
      .show(); 
} 
0

Zurück-Taste sollte Sie zu vorherigen Aktivität führen. Wenn Sie Ihre letzte Aktivität erreichen (am wahrscheinlichsten diejenige, die gestartet wird, wenn die App startet), müssen Sie eine Warnung anzeigen, die den Benutzer fragt, ob er sich abmelden möchte.

Fügen Sie diese in Ihrem Launching Aktivität

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     promptUserForLogout(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

private void promptUserForLogout() { 
    final AlertDialog logoutOption = new AlertDialog(this) { 
    }; 
    logoutOption.setTitle("Logout"); 
    logoutOption.setMessage("Do you want to log out?"); 
    logoutOption.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel", new DialogInterface.OnClickListener() { 
     public void onClick(final DialogInterface arg0, final int arg1) { 
      logoutOption.dismiss(); 
     } 
    }); 
    logoutOption.setButton(DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() { 
     public void onClick(final DialogInterface arg0, final int arg1) { 
      logoutOption.dismiss(); 
      // Call logout API or take your logout action 
     } 
    }); 
    logoutOption.show(); 
} 
Verwandte Themen