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"); 

参考:

相关问题