【发布时间】:2011-06-29 22:08:50
【问题描述】:
我正在使用单任务模式活动,它通过指定意图过滤器来处理某种类型的文件。 我需要只处理每个这样的文件 Intent 一次。问题是 onNewIntent() 仅在任务已经存在时才被调用,这迫使我也处理来自 onCreate() 的意图。不幸的是,onCreate() 被调用的原因有很多(例如屏幕旋转),而 getIntent() 返回的 Intent 可能在多个 onCreate() 中是相同的。 当然,可以使用一些丑陋的 hack 来解决这个问题,但我想知道优雅的解决方案是什么。 到目前为止,我想出的最佳解决方案是每次处理意图后 setIntent(new Intent(Intent.ACTION_MAIN)) 。这与 Web 服务器如何在 POST 页面后将您重定向到 GET 页面以避免因刷新而重做操作的模式类似。
谢谢!
【问题讨论】:
标签: android android-activity android-intent launchmode