退出/关闭申请

Coo*_*575 3 android

可能重复:
退出应用程序 - 这是不赞成的吗?

我写了一个Android应用程序,有5个活动.每个活动都由之前的活动启动.当用户进入上一个活动时,我添加了一个"退出"按钮.按下此按钮时,我调用finish(); 但是,这只会关闭当前活动,并且应用程序将返回上一个活动.按下退出按钮时是否有一种简单的方法可以终止所有活动.

谢谢

Cri*_*ian 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();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
  • 让您的活动扩展BaseActivity.
  • 每当你想清除堆栈时:

Intent intent = new Intent("kill");
intent.setType("spartan!!!");
sendBroadcast(intent);
Run Code Online (Sandbox Code Playgroud)


Kon*_*rov 5

通常,将"退出"功能添加到应用程序并不是一个好主意.这不是Android的本质.首先阅读主题.