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

标签 java android android-intent android-activity

我无法控制 Intent 的行为。

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

此时,用户应该能够按标准后退按钮返回到编辑 Activity ,或者用户可以单击聊天来发帖。

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

所以基本上我希望能够执行以下操作:

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

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

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

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

最佳答案

在创建开放聊天 Activity 时,使用此标志

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

关于java - 仅当用户执行操作时,如何清除应用程序的后台历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31589172/

相关文章:

android - 在抽屉菜单上设置可见性

Android:如何设置 ImageButton 的 src 图像的高度/宽度?

android - 如何让广播接收器永远活着? (用于电池小部件)

android - 在同一 Activity 中在 android 中播放 youtube 视频有哪些替代方案?

java - 在 JPanel 中间添加 JComponent

java - 如何验证imcache中的redis缓存?

java - 在 Android Studio 中制作所需的 EditText 字段

java GC名称 'MarkSweepCompact'

android - 尽管没有错误,但无法在 Eclipse 中运行 Android 项目

java - 如何显示上一个和下一个列表项的详细信息