我的应用程序在历史记录中出现了不同页面的问题。基本上我的应用程序只有三层,如果您使用该应用程序5分钟,只需进入第一层和第二层,将导致您按下后退按钮30次以退出应用程序。我目前正在使用意图改变课程:
Intent filterIntent = new Intent(view.getContext(), NewLayer.class);
startActivityForResult(filterIntent, 0);
我基本上只是希望用户按下后退按钮3或4次,然后退出而不是按回到整个浏览历史记录退出。很抱歉,如果这是一个令人困惑的问题,但我不知道如何正确地说出问题或问题的技术方面,以便更好地参考我的意思。
答案 0 :(得分:2)
在定义意图时,您可以考虑添加flag以排除活动在历史记录中。
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
您可能希望添加其他标志,例如FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS。我链接的页面包含您可能希望了解的几个页面。
答案 1 :(得分:1)
请在NewLayer.java文件中写下以下代码。
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0)
{
Intent i = new Intent();
setResult(CANCEL_CODE,i);
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}