Cyg*_*nus 8 flags android android-intent
我创建了一个带按钮的简单应用程序.单击它会触发通知,单击通知会启动同一应用程序的新实例.但是,我希望点击通知应该会将我带回到触发通知的应用程序实例.为此,我咨询了Android文档的FLAG_ACTIVITY_NEW_TASK标志 -
使用此标志时,如果任务已在您正在启动的活动上运行,则不会启动新活动; 相反,当前任务将简单地以其最后一个状态被带到屏幕的前面.请参阅FLAG_ACTIVITY_MULTIPLE_TASK以获取禁用此行为的标志.
基于此,在创建传递给PendingIntent的意图时,我设置了这个标志.但是,单击通知仍会启动应用程序的新实例.
我究竟做错了什么 ?
请记住,当您单击Notification它时,是从Context该意图启动的。该上下文没有任务的活动(实际上,这将是一个空白任务)。
结果是运行同一版本的两个版本Activity(尽管仍然只有您的一个实例Application)。每个人Activity运行的都不一样Task。
如果您不需要任何堆栈中相同类型的重复活动,则可以在此处使用答案:
否则,有许多方法可以“解决”此问题,包括单例变量和跟踪哪些活动处于运行状态的应用程序上下文方法。
您可能需要搜索和完善这些问题。
| 归档时间: |
|
| 查看次数: |
21813 次 |
| 最近记录: |