2013-02-28 63 views
0

我的程序有MainActivity和myService。不能调用onNewIntent

MainActivity是'singletop',MainActivity覆盖了NewIntent类。

myService是'foreground'Service。 它弹出一个通知。 通知在pendingIntent中具有Intent(this,MainActivity.class)以启动MainActivity。

我的程序的流程是从图标

启动(开始)MainActivity(startService)为myService(发送广播)广播级(开始MainActivity)onNewIntent @ MainActivity

当程序启动这样的流程,onNewIntent是确切地称呼。

但是,当程序从通知启动时,onNewIntent永远不会调用 。从通知

启动(START)MainActivity(startService)为myService(发送广播)广播级(开始MainActivity)onNewIntent @ MainActivity

你知道为什么吗?

也许我想的意图是错误的东西...

回答

0

从导在http://developer.android.com/guide/topics/manifest/activity-element.html

同样,“singleTop”活动的新实例也可以创建来处理新的意图。但是,如果目标任务已经在其堆栈顶部存在一个活动的现有实例,那么该实例将接收新的目标(在onNewIntent()调用中);一个新的实例不会被创建。在其他情况下 - 例如,如果“singleTop”活动的现有实例位于目标任务中,但不在堆栈顶部,或者位于堆栈顶部,但不在目标任务中 - 则新实例将被创建并推入堆栈。

因此,只有在堆栈顶部存在活动的现有实例时才会调用onNewIntent。

相关问题