0

我想在通知中啓動我的應用程序時打開適當的屏幕。當我認爲它應該不起作用時,我發現了一個場景。當應用程序先前從通知中啓動時,Android上的FCM不會觸發`onNewIntent`

所以這是第一個方案,當它工作,它應該工作:

  1. 應用程序從啓動器圖標啓動
  2. 應用程序放入後臺
  3. FCM通知顯示出來
  4. 當點擊它調用默認活動的onNewIntent

但是,當應用程序是首先由FCM通知推出接着第4步從未發生過:

  1. FCM通知顯示出來
  2. 應用程序從FCM通知推出
  3. 應用程序放入背景
  4. 另一個FCM通知顯示
  5. 一旦點擊它onNewIntent的默認活動IS NOT CALLED

我發現真的有問題需要處理和編碼。這是一個錯誤還是我錯過了一些東西?

編輯:默認活動launchMode在清單文件中設置爲singleTask

回答

0

參考前面的回答,onNewIntent被稱爲將launchMode設置爲「singleTop」的活動。

所以你應該設置的第一件事是清單文件。將活動的launchMode設置爲singleTop。另一件事是添加一個意圖過濾器與行動標籤。

樣本:

<activity android:name="youPackage.YourActivity" 
      android:launchMode="singleTop"> 
    <intent-filter> 
     <action android:name="youPackage.ACTION"> 
    </intent-filter> 
</activity> 

而且,在你的服務,你可以調用新的意圖提供你的意圖過濾器定義操作。

樣品:

Intent i = new Intent("youPackage.ACTION"); 

參考:

相關問題