如何正确清除singleTop Activity中的意图数据?

6
场景如下: 在清单文件中声明了一个singleTop的Activity。该Activity被调用时带有一些额外的参数。我能够清除意图数据并且可以翻转屏幕等操作而不会调用原始意图...
问题是,当系统杀死该Activity并且用户返回到该Activity时,它将使用创建该Activity的原始意图重新启动。
如何解决这个问题?我尝试从内部使用新的Intent启动相同的Activity,但没有成功...我还尝试使用了各种标志。
2个回答

8

1

我正在将待处理的意图作为闹钟发送,当我的应用程序启动时,我可能会收到不同的闹钟,因此标志状态不适合我。

我是这样做的:

我使用一个ID发送意图,例如intent.setAction("MyIntent"+System.getCurrentTimeinMillis); 并将此键存储为BD或共享首选项中的引用。

当您在newIntent上接收意图时,您可以询问bd或共享首选项是否存在intent.getAction(),然后清除该引用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接