我写了一个Android应用程序,它有5个活动。每个活动都由之前的活动启动。 当用户进入上一个活动时,我添加了一个“退出”按钮。 按下此按钮时,我调用finish(); 但是,这只会关闭当前活动,并且应用程序将返回上一个活动。 按下退出按钮时是否有一种简单的方法可以终止所有活动。
谢谢
答案 0 :(得分:5)
如果您不关心上次打开的活动,请在致电finish
拨打下一个活动后立即致电startActivity
。
如果您在关注,只想在上次活动中单击“退出”按钮时杀死所有内容,请使用BroadcastReceivers
:
BaseActivity
: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
。Intent intent = new Intent("kill");
intent.setType("spartan!!!");
sendBroadcast(intent);
答案 1 :(得分:5)
通常,在应用中添加“退出”功能并不是一个好主意。这不是Android的本质。首先阅读the topic。
答案 2 :(得分:2)
在onActivityResult()中捕获此结果,然后将其传播通过堆栈?
答案 3 :(得分:1)
不要添加退出按钮。它在Android世界中几乎没有任何意义。请阅读this article by a Google employee,了解原因。