La manipulation backpress sur l'activité

0

La question

J'ai 2 activité qu'on appelle le Login et le Principal de l'activité de connexion il y a le bloc de code qui rend cette fonctionnalité que si je clique sur retour à l'activité Principale, il va fermer l'application au lieu de revenir à l'activité de connexion, mais je veux à nouveau la poignée de la presse et peut-être une boîte de dialogue "vous allez quitter l'application-vous sûr?" ou quelque chose comme ça.

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

ce bloc de code est dans mon login actvity

2

La meilleure réponse

0

copier et coller le code ci-dessous dans votre onBackPressed() la méthode dans 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

c'est ce que j'ai été à la recherche pour grâce.Merci pour la réponse
muhammedlevent

J'ai essayé votre solution mais il m'a donné cette erreur E/WindowManager: android.vue.WindowLeaked: Activité com.exemple.rtets.l'interface utilisateur.les activités.MainActivity a fui fenêtre DecorView@ec13922[MainActivity] qui a été ajoutée ici
muhammedlevent
0

Vous pouvez gérer dans onBackPressed si l'utilisateur est connecté :

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

Dans d'autres langues

Cette page est dans d'autres langues

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