有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我无法控制意图的行为

用例如下: 当用户在Chrome浏览器上浏览互联网,点击“菜单”、“共享”和“我的应用”时,会打开一个屏幕,允许用户编辑某些信息。用户完成编辑后,可以单击“完成,选择聊天发布”。然后,一个包含所有可用聊天记录的新活动开始

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

如果用户点击聊天并发布链接,新的活动将启动聊天,允许用户继续聊天或按back返回浏览器,而不是“选择聊天”活动或“编辑信息”活动

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

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

用例2:[浏览器]——>;[分享]——>;[编辑信息]——>;[选择聊天]——>;[开放式聊天]。(返回按钮返回[浏览器]

在启动[edit info]和[choose chat]时,我尝试了各种意图标志的组合,但没有一种能让我达到我想要达到的行为

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


共 (1) 个答案

  1. # 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);