Manejo de backpress en la actividad

0

Pregunta

Tengo 2 actividad de inicio de Sesión y la Principal en la actividad de inicio de sesión no es el bloque de código que permite esta funcionalidad que si hago clic de nuevo en la actividad Principal se va a cerrar la app en lugar de volver a la actividad de inicio de sesión, pero quiero manejar de vuelta de la prensa y tal vez con un cuadro de diálogo de "usted va a salir de la app usted seguro?" o algo así.

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

este bloque de código es en mi actividad de inicio de sesión

2

Mejor respuesta

0

copie y pegue el código de abajo en tu onBackPressed() en el método 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

eso es lo que he estado buscando, gracias.Gracias por la respuesta
muhammedlevent

He intentado la solución, pero a mí me dio este error E/administrador de ventanas: android.vista.WindowLeaked: la Actividad de la com.ejemplo.rtets.la interfaz de usuario.actividades.MainActivity se ha filtrado la ventana DecorView@ec13922[MainActivity] que fue originalmente añadido aquí
muhammedlevent
0

Usted puede manejar en onBackPressed si el usuario se registra en :

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

En otros idiomas

Esta página está en otros idiomas

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