Android后退按钮强制重启应用程序并且无法正常恢复

时间:2017-03-21 18:34:04

标签: java android android-activity

在我的应用中,我要启动的第一项活动是登录活动( A )。登录成功后,将启动另一项活动( B ),在执行此操作时,使用finish() A 杀死。这是为了防止用户在按下后退按钮时被带回登录界面,这样可以正常工作。现在,当应用程序从活动 B 关闭并使用主页按钮并从多任务处理视图恢复时,用户将返回活动 B ,这很棒。但是,当用户点按活动 B 中的后退按钮时,应用会关闭,当应用从多任务处理视图恢复时,当我真正想要时,会再次启动活动 A 单击主页按钮的行为会向用户显示活动 B

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

如果用户已登录完成并启动B活动,您只需在登录活动中添加一项检查。

答案 1 :(得分:0)

我真的很傻,只是在其中一个相关的'中找到了答案。问题,但是当我创建我的问题时它没有出现,哦,好吧。

这就是我的所作所为:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (keyCode == KeyEvent.KEYCODE_BACK
            && event.getRepeatCount() == 0) {
        Log.d("CDA", "onKeyDown Called");
        onBackPressed();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}


@Override
public void onBackPressed() {
    Log.d("CDA", "onBackPressed Called");
    Intent setIntent = new Intent(Intent.ACTION_MAIN);
    setIntent.addCategory(Intent.CATEGORY_HOME);
    setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(setIntent);
}

这基本上模拟了主页按钮在活动 B 中的作用。