当按下主页按钮时,Android会阻止后台堆栈被清除

时间:2013-04-23 03:28:55

标签: java android

我的主页按钮正在清理后栈。因此,当用户重新进入应用程序并按下后退按钮(软或硬)时,它将退出应用程序,而不是返回到后端堆栈顶部的活动。

我将alwaysRetainTaskState设置为true,并且没有其他任何内容被覆盖。为什么会这样?如何阻止它被清除!!

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        Intent intent;
        switch (item.getItemId()) {
        case android.R.id.home:
            activity.finish();
            return true;
        case R.id.menu_paymentLocs:
            intent = new Intent(activity, PaymentLocationsPage.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
            activity.startActivity(intent);
            return true;
        case R.id.menu_feedback:
            intent = new Intent(activity, FeedbackPage.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
            activity.startActivity(intent);
            return true;
        case R.id.menu_about:
            intent = new Intent(activity, AboutPage.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
            activity.startActivity(intent);
            return true;
        case R.id.menu_changeconsumer:
            new SelectConsumerDialogFragment().show(getFragmentManager(), "select_consumer");
            return true;
        case R.id.menu_logout:
            intent = new Intent(activity, SplashPage.class);
            myMeter.logout();
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
            activity.startActivity(intent);
            return true;
        }
        return true;
    }

0 个答案:

没有答案