仅当用户执行操作时,如何清除应用程序的后退历史记录?

时间:2015-07-23 13:42:09

标签: java android android-intent android-activity

我无法控制Intent的行为。

用例是这样的: 当用户在Chrome中浏览互联网并点击菜单,共享然后在我的应用上时,会打开一个屏幕,允许用户编辑某些信息。当用户完成编辑后,他或她可以点击"完成,选择聊天以发布"。然后打开一个包含所有可用聊天的新活动。

此时,用户应该可以按标准后退按钮返回编辑活动,或者用户可以点击聊天发布。

如果用户点击聊天并发布链接,则新的活动开始聊天,允许用户继续聊天或按回以返回浏览器而不是选择聊天"活动或"编辑信息"活性。

基本上我希望能够做到以下几点:

用例1:[浏览器] - > [分享] - > [编辑信息] - > [选择聊天]。 (后退按钮返回[编辑信息]。

用例2:[浏览器] - > [分享] - > [编辑信息] - > [选择聊天] - > [打开聊天]。 (后退按钮返回[浏览器]。

我在启动[编辑信息]和[选择聊天]时尝试了各种Intent标志组合,但没有人给我我想要实现的行为。

所以我的问题是:如何清除我的应用程序的后退历史记录,允许用户返回上一个应用程序,但仅当用户完成指定的过程时(在这种情况下,实际上是在聊天中发布链接) )?

1 个答案:

答案 0 :(得分:1)

在创建Open Chat活动时,请使用此标记

Intent i = new Intent();
i.setClass(getActivity().getApplicationContext(), YourActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);