1

Ich arbeite an einer App, in der ich einen Dialog habe und wenn ich auf den Exit-Button klicke, möchte ich die App schließen, aber manchmal App wird nicht fertig und zurück zu meiner ersten Aktivität. Ich verstehe nicht, was ich damit machen soll.App schließt nicht nach dem Aufruf von finish() in Android

-Code für die gleiche

AlertDialog.Builder alertDialog = new AlertDialog.Builder(getContext()); 
     alertDialog.setMessage(context.getResources().getString(R.string.app_close_dialog_msg)); 
     alertDialog.setPositiveButton(R.string.app_close_dialog_msg_yes, new OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       dismiss(); 
       ((Activity) context).finish(); 
       //((Activity) context). moveTaskToBack(true); 
       System.exit(0); 
       android.os.Process.killProcess(android.os.Process.myPid()); 



      } 
     }); 
+0

sind Ihre overrding onBackPressed() in Haupttätigkeit, alle Aktivitäten in der Nähe? –

Antwort

1

Nicht

System.exit(0); 
    android.os.Process.killProcess(android.os.Process.myPid()); 

Intent _intentOBJ= new Intent(Intent.ACTION_MAIN); 
    _intentOBJ.addCategory(Intent.CATEGORY_HOME); 
    _intentOBJ.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    _intentOBJ.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(_intentOBJ); 
+0

@AndroidDeveloper Ich habe Code korrigiert. Versuchen Sie diesen Weg. –

+0

Aber es öffnet wieder die App von wo ich gehe. Nicht von Anfang an. Warum? –

+0

@AndroidDeveloper App schließen bedeutet 'HIDE' aus Sicht. nicht löschen –

0
AlertDialog.Builder alertDialog = new AlertDialog.Builder(getContext()); 
alertDialog.setMessage(context.getResources().getString(R.string.app_close_dialog_msg)); 
alertDialog.setPositiveButton(R.string.app_close_dialog_msg_yes, new OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) {  
      switch (which) { 
       case DialogInterface.BUTTON_POSITIVE: 
        finish(); 
        break; 
      } 
     } 
012 Do

Dies wird funktionieren.

1

Versuchen ActivityCompat.finishAffinity(activity); wenn Ihr minSdk> = 16 anrufen, sollte dies für Ihre Anwendung

Verwandte Themen