单击后退按钮时出现问题。它继续前一个活动。用户可以登录以使用该应用程序。但问题是当用户退出时,单击后退按钮,它将显示“登录”面板页面。如果用户想要退出应用,他们将不得不经历多次点击。这不是我想要的。
当然我可以使用菜单并为用户提供退出应用程序的选项,但我不想使用该方法,因为它不是常用的方法。这不是很好,因为通常用户会点击返回第一页并提示他们是否要退出。
如何解决意图问题?
答案 0 :(得分:0)
如果您不希望通过后台堆栈访问活动,则可以在AndroidManifest.xml中修改其条目,如下所示:
<activity
android:name="com.myDomain.myApp.MyActivity"
android:label="My Activity"
android:noHistory="true" >
</activity>
如果您只想确保前一个活动没有显示在后台堆栈中,您可以在每个调用finish()的活动中添加一个处理程序,然后从当前活动中调用它。
以前的活动:
public void goAway()
{
finish();
}
当前活动:
previousActivity.goAway();
当然,您需要参考当前活动中的上一个活动。
答案 1 :(得分:0)
如果你想保留后面的堆栈,只有当用户退出或从退出的屏幕按下后退按钮时才清除它,可以完成以下操作。
1:通过使用相同的startActivityForResult(intent, REQUEST_CODE)
REQUEST_CODE
来开始每项活动
2:在每个onActivityResult()
中覆盖Activity
并添加以下代码段
if(resultCode == RESULT_OK && requestCode == REQUEST_CODE) {
setResult(OK);
finish();
}
3:当用户注销或从注销的screem中按下后退键时,请执行以下操作
setResult(OK);
finish();
这将确保在用户注销后清除后台堆栈中的所有活动。