我正在使用单任务模式活动,该活动通过指定意图过滤器来处理某种类型的文件。我需要只处理每个这样的文件 Intent 一次。问题是 onNewIntent() 仅在任务已经存在时才被调用,这迫使我也处理来自 onCreate() 的意图。不幸的是,onCreate() 被调用的原因有很多(例如屏幕旋转),而 getIntent() 返回的 Intent 可能在多个 onCreate() 中是相同的。当然,可以使用一些丑陋的 hack 来解决这个问题,但我想知道优雅的解决方案是什么。到目前为止,我想出的最佳解决方案是每次处理意图后 setIntent(new Intent(Intent.ACTION_MAIN)) 。
谢谢!