单击后退按钮时保持显示上一个意图

时间:2013-04-26 03:03:12

标签: android android-intent user-interface android-activity

单击后退按钮时出现问题。它继续前一个活动。用户可以登录以使用该应用程序。但问题是当用户退出时,单击后退按钮,它将显示“登录”面板页面。如果用户想要退出应用,他们将不得不经历多次点击。这不是我想要的。

当然我可以使用菜单并为用户提供退出应用程序的选项,但我不想使用该方法,因为它不是常用的方法。这不是很好,因为通常用户会点击返回第一页并提示他们是否要退出。

如何解决意图问题?

2 个答案:

答案 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();

这将确保在用户注销后清除后台堆栈中的所有活动。