2013-02-28 59 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。

相關問題