我的程序有MainActivity和myService。
MainActivity是'singletop',MainActivity重写onNewIntent类。
myService是‘前台’服务。弹出一个通知。通知中有Intent(this,MainActivity.class)在pendingIntent中启动MainActivity。
我的程序流程是
从图标(开始) MainActivity (startService) myService (send broadcast)广播class(start MainActivity)onNewIntent@MainActivity启动
当像这样启动程序时,onNewIntent就会被准确地调用。
但是当程序从通知中启动时,onNewIntent从未调用过。
从通知(start) MainActivity (startService) myService (send broadcast) broadcast class(start MainActivity)onNewIntent@MainActivity启动
发布于 2013-02-28 05:04:24
来自http://developer.android.com/guide/topics/manifest/activity-element.html的指南
类似地,还可以创建"singleTop“活动的新实例来处理新的意图。但是,如果目标任务的堆栈顶部已经有活动的现有实例,则该实例将接收新的意图(在onNewIntent()调用中);没有创建新实例。在其他情况下--例如,如果"singleTop“活动的现有实例位于目标任务中,而不是在堆栈的顶部,或者如果它位于堆栈的顶部,但不在目标任务中,则将创建一个新实例并将其推送到堆栈上。
因此,只有在堆栈顶部存在活动的现有实例时,才会调用onNewIntent。
https://stackoverflow.com/questions/15126580
复制相似问题