问题描述
我无法控制Intent的行为。
用例是这样的:当用户在Chrome浏览器中浏览互联网并单击菜单,共享然后在我的应用程序上时,将打开一个屏幕,允许用户编辑某些信息。 用户完成编辑后,他或她可以单击“完成,选择要发布的聊天”。 然后,将打开一个包含所有可用聊天的新活动。
此时,用户应该能够按下标准的“后退”按钮以返回到编辑活动,或者用户可以单击聊天以发布。
如果用户单击聊天并发布链接,则新的活动将开始聊天,允许用户继续聊天或按返回以返回到浏览器,而不是“选择聊天”活动或“编辑信息”活动。
所以基本上我希望能够做到以下几点:
用例1:[浏览器]-> [共享]-> [编辑信息]-> [选择聊天]。 (返回按钮返回到[编辑信息]。
用例2:[浏览器]-> [共享]-> [编辑信息]-> [选择聊天]-> [打开聊天]。 (返回按钮返回到[浏览器]。
在启动[edit info]和[choose chat]时,我尝试了Intent标志的各种组合,但没有一个给我我要实现的行为。
所以我的问题是:如何仅清除我的应用程序的历史记录,仅当用户完成规定的过程(在这种情况下,实际上是在聊天中发布链接)时,才允许用户返回到上一个应用程序,但只能返回?
1楼
在创建公开聊天活动时,使用此标志
Intent i = new Intent();
i.setClass(getActivity().getApplicationContext(), YourActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);