2010-12-19 56 views
0

如何关闭apk或换句话说退出APK。我尝试完成,但它只是关闭当前的活动,我需要关闭所有的活动在apk中?关闭或退出问题apk

+0

不要这样做。它违背了Android UI准则,是开发人员对编写行为良好的Android应用程序不感兴趣的用户的第一个信号。请参阅下面链接的Reto Meier帖子。 – adamp 2010-12-19 18:08:35

回答

0

这被问了很多次,但我现在找不到链接。和我以前一样回答:

短: 你不应该。 阅读雷托·梅尔的关于主题的意见:When to Include an Exit Button in Android Apps (Hint: Never)

长:

protected Dialog onCreateDialog(int id) { 
     Dialog dialog = null; 

     switch (id) { 
     case MENU_QUIT: 
      AlertDialog.Builder builder = new AlertDialog.Builder(this); 
      builder.setMessage(getString(R.string.main_screen_quit_text)) 
        .setCancelable(false) 
        .setPositiveButton(
          getString(R.string.main_screen_quit_yes), 
          new DialogInterface.OnClickListener() { 
           public void onClick(DialogInterface dialog, 
             int id) { 

            moveTaskToBack(true); 
           } 
          }) 
        .setNegativeButton(getString(R.string.main_screen_quit_no), 
          new DialogInterface.OnClickListener() { 
           public void onClick(DialogInterface dialog, 
             int id) { 
            dialog.cancel(); 
           } 
          }); 
      AlertDialog alert = builder.create(); 
      return alert; 
     default: 
      dialog = null; 
     } 
     return dialog; 
    } 
2

应用程序是活动只是松散的联合会,而且也没有的“退出应用程序”内置到Android的概念。如果你想做一些模拟退出的事情,你必须手动跟踪哪些活动仍然存在,并且每个列表中都有一个finish()

最好在没有“退出”概念的情况下设计您的应用程序,并让系统根据需要销毁其部件。这符合Android的设计原则之一,即用户可能希望返回到他所离开的应用程序,而无需延迟完全重启。如果您的活动中有某些内容需要停用,请利用活动生命周期,并采用适当的方法进行操作。