2017-09-04 81 views
-2

我想在應用程序中添加一項功能。我想關閉應用程序,而我點擊退出按鈕,但我的按鈕是在對話框,所以當我嘗試使用完成()是不會做同樣的。我只想關閉應用程序,請幫助。對於同一無法關閉android中的對話框中的應用程序

if (v.getId() == R.id.imgLogout) { 

     AlertDialog.Builder alertDialog = new AlertDialog.Builder(getContext()); 
     alertDialog.setMessage("Are you sure you want to exit?"); 
     alertDialog.setPositiveButton("YES", new OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       // session.logoutUser(); 
       finish(); 


      } 
     }); 

//但完成

//代碼沒有在對話

+0

爲什麼是U起動活動?你需要使用**完成()**關閉應用程序。 – Raghavendra

+1

我沒有看到你使用'finish()' –

+1

[如何以編程方式退出android應用程序]的可能重複(https://stackoverflow.com/questions/6330200/how-to-quit-android-application-programmatically) – Raghavendra

回答

0

首先在對話框類中通過調用者活動的背景下說MainActivit.class方面

現在首先關閉對話框

//以免窗口泄漏作爲破壞它的上下文活動也會消失。

dialog.dismiss(); 

然後

((Activity) context).finish(); 
1

首先關閉所有已暫停活動工作。比你可以關閉應用程序。你記得這個活動是最後一次。

if (v.getId() == R.id.imgLogout) { 

    AlertDialog.Builder alertDialog = new AlertDialog.Builder(getContext()); 
    alertDialog.setMessage("Are you sure you want to exit?"); 
    alertDialog.setPositiveButton("YES", new OnClickListener() { 

    public void onClick(DialogInterface dialog, int which) {     
      finish(); 
     } 
    }); 
+0

finish()不工作在對話框 –

+0

如果使用片段比使用context.finish(); –

0

一個非常簡單的方法來關閉程序是:

Intent intent = new Intent(Intent.ACTION_MAIN); 
        intent.addCategory(Intent.CATEGORY_HOME); 
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        startActivity(intent); 
        finish(); 

所以你的情況試試這個:

if (v.getId() == R.id.imgLogout) { 

    AlertDialog.Builder alertDialog = new AlertDialog.Builder(getContext()); 
    alertDialog.setMessage("Are you sure you want to exit?"); 
    alertDialog.setPositiveButton("YES", new OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
      // session.logoutUser(); 
      Intent intent = new Intent(Intent.ACTION_MAIN); 
        intent.addCategory(Intent.CATEGORY_HOME); 
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        startActivity(intent); 
        finish(); 


     } 
    }); 
相關問題