Gestione backpress sull'attività

0

Domanda

Ho 2 attività di chiamata Login e Principale in attività di accesso c'è un blocco di codice che rende questa funzionalità che è possibile fare clic su indietro nell'attività Principale di chiudere l'app invece di andare avanti per attività di accesso, ma voglio maniglia premere e magari con una finestra di dialogo "che si sta per uscire l'app è sicuro?" o qualcosa di simile.

Intent intent = new Intent(LoginActivity.this, MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

questo blocco di codice è nel mio login oggi l'attività

2

Migliore risposta

0

copia e incolla il seguente codice nel tuo onBackPressed() metodo MainActivity.java.

new AlertDialog.Builder(MainActivity.this)
            .setTitle("Confirm close")
            .setMessage("Are you sure want to close app")
            .setCancelable(false)
            .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which {
                    finish();
                }
             }).setNegativeButton("No", new DialogInterface.OnClickListener() {
                  @Override
                  public void onClick(DialogInterface dialog, int which {
                   dialog.dismiss();
                 }
             }).create().show();
2021-11-23 08:55:58

che è quello che sto cercando, grazie.Grazie per la risposta
muhammedlevent

Ho provato la tua soluzione, ma mi ha dato questo errore E/WindowManager: android.vista.WindowLeaked: Attività com.esempio.rtets.interfaccia utente.attività.Obbiettivo principale l'allevamento è trapelato finestra DecorView@ec13922[obbiettivo principale l'allevamento] originariamente aggiunto qui
muhammedlevent
0

È in grado di gestire in onBackPressed se l'utente è connesso :

override fun onBackPressed() {
        if(!user.isLoggedIn()){
            val intent = Intent(this@LoginActivity, MainActivity::class.java)
            intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
            startActivity(intent)
            finish()
        }else{
            //Show alert
        }
    }
2021-11-23 08:42:43

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................