在FCM的后台应用程序时,额外的Intent数据变为null

时间:2017-01-10 12:17:38

标签: android firebase firebase-cloud-messaging

详细说明:

  • Android设备:Nexus 5或模拟器
  • Android操作系统版本:Android N或Android M
  • Google Play服务版:9.2.1
  • Firebase / Play Services SDK版本:9.2.1

观察结果:

虽然通知确实出现在系统托盘中,但意图中的数据不可用。在onNewIntentonCreate中,附加内容为空。

预期结果:

根据Firebase云消息传递文档,当应用程序状态处于后台并且发送带有数据的通知时,通知将显示在系统托盘中,并且数据将在意图的附加内容中提供。

@Override
public void onCreate() {
Bundle extras = getintent().getExtras();
---> extras is always null when app is not running or when app is in background
}

@Override
public void onNewIntent(Intent intent) {
Bundle extras = intent.getExtras();
---> extras is always null when app is not running or when app is in background
}

备注:当App State位于Foreground时,数据可用。但是通知控制台几乎无法使用此错误,因为ALL(后台,应用程序未运行,前台)用户需要能够在通知中获取数据。否则,开发人员如何知道用户看到或未看到的数据(例如,用户是否显示10%的折扣)。

0 个答案:

没有答案