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

时间:2011-04-19 15:50:10

标签: android android-intent

场景是: 在清单中声明的​​具有singleTop的活动。使用一些额外功能调用此活动。我能够清除意图数据并能够翻转屏幕,而不需要调用原始意图...

问题是当活动被系统杀死并且用户返回到此活动时,它将使用用于创建活动的原始意图重新启动。

如何删除此内容?我尝试用新的Intent从内部开始相同的活动,但没有运气......我也使用了各种标志。

2 个答案:

答案 0 :(得分:8)

事实证明,没有一种正确的方法来清除ActivityManager中的意图数据。解决此错误的唯一方法是在清除额外内容时保持标记状态。请参阅以下关于保持旗帜的帖子。 https://groups.google.com/forum/#!topic/android-developers/vrLdM5mKeoY

答案 1 :(得分:1)

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

我确实喜欢这个:

我发送带有id的意图,例如intent.setAction(“MyIntent”+ System.getCurrentTimeinMillis); 将此密钥存储为BD或共享首选项中的引用。

当你收到newIntent的意图时,你要求bd或共享的prefs是intent.getAction(),然后清除引用。