Exit / Close Application
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Quitting an application - is that frowned upon?
我写了一个Android应用程序,有5个活动。每个活动都是由它之前的活动启动的。当用户进入最后一个活动时,我添加了一个"退出"按钮。当按下这个按钮时,我调用finish();但是,这只会关闭当前活动,应用程序将返回到上一个活动。是否有一种简单的方法可以在按下退出按钮时终止所有活动?
谢谢
通常,向应用程序添加"退出"功能不是一个好主意。这不是Android的本质。首先阅读主题。
如果您不关心上一个打开的活动,那么在调用下一个活动之后,就在每个活动上调用
如果你真的很在意,只想在你点击上一个活动的退出按钮时把它们全部杀死,那么使用
- 创建一个这样的
BaseActivity :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | public class BaseActivity extends Activity { private KillReceiver mKillReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mKillReceiver = new KillReceiver(); registerReceiver(mKillReceiver, IntentFilter.create("kill","spartan!!!")); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(mKillReceiver); } private final class KillReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { finish(); } } } |
- 使您的活动扩展到
BaseActivity 。 - 每当要清除堆栈时:
1 2 3 | Intent intent = new Intent("kill"); intent.setType("spartan!!!"); sendBroadcast(intent); |
在onActivityResult()中捕获此结果,然后将其传播到堆栈中?
不要添加退出按钮。在Android世界里,这几乎毫无意义。阅读谷歌员工的这篇文章,了解一些有价值的原因。