Android:无法通过单击退出

时间:2012-01-17 16:52:26

标签: android android-intent

我将从活动A转到活动B,然后反向,在活动A中,我有退出按钮,当我点击退出它没有退出时,我必须按两次退出应用程序当我从活动返回时B到活动A. 请帮忙

2 个答案:

答案 0 :(得分:1)

这意味着您的活动在内存中有多个实例。如果要关闭所有这些,可以在onResume中注册广播接收器,此广播接收器将在活动上调用finish()。您的退出按钮然后发送此接收器接收的广播意图

类似以下内容...

在您的活动中定义:

BroadcastReceiver activityKillerOnTheLoose = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        finish();
    }
};
你的onResume方法中的

(注册接收广播)

@Override
public void onResume()
{
    super.onResume();

    registerReceiver(
            activityKillerOnTheLoose,
            new IntentFilter(ActivityKillerBroadcastKey));
你的onPause中的

(确保取消注册!)

@Override
public void onPause()
{
    super.onPause();
    unregisterReceiver(activityKillerOnTheLoose);

并播出......

Intent activityKillerBroadcast = new Intent(ActivityKillerBroadcastKey);
sendBroadcast(activityKillerBroadcast);

答案 1 :(得分:1)

你打电话退出什么功能?

使用Android,如果你从一个Activity转到另一个Activity,它们会被推到一个堆栈上,所以当你使用后退按钮时,它会立即弹出顶部的活动。

有关如何处理此问题的一些讨论,您可以查看以下问题: How to dismiss previous activities in android at a certain point?

或者,这可能是一个更好的问题: Closing several android activities simultaneously