Flutter - 当应用在后台时点击 FCM 推送通知无法默认启动应用程序。

4
我目前使用FCM向我的Flutter应用程序推送通知。当应用程序处于后台时,我尝试在用户点击通知时启动应用程序。当我尝试点击通知时,我得到了这个终端日志。
    E/FirebaseMessaging(24830): Notification pending intent canceled

我也将这个内容放在了我的AndroidManifest.xml中,就像官方文档上写的一样。

    <intent-filter>
        <action android:name="FLUTTER_NOTIFICATION_CLICK" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

这是我推送通知的有效载荷。
    { notification: 
       { 
         title: 'title',
         body: 'body',
         badge: '1',
         icon: 'https://miro.medium.com/max/11400/1*lS9ZqdEGZrRiTcL1JUgt9w.jpeg',
         click_action: 'FlUTTER_NOTIFICATION_CLICK',
         sound: 'default' 
       },
      data: { type: '4' } 
    }  

我错过了什么?

你能解决这个问题吗?我也遇到了同样的问题。 - c0dehunter
1
移除 click_action 对我来说解决了这个问题。 - MikeT
1个回答

2

首先,您的有效负载应编码为 JSON:

     {
       'notification': {
         'body': 'this is a body',
         'title': 'this is a title'
       },
       'priority': 'high',
       'data': {
         'click_action': 'FLUTTER_NOTIFICATION_CLICK',
         'id': '1',
         'status': 'done'
       },
       'to': await firebaseMessaging.getToken(),
     }

在尝试后,请从您的负载中删除'click_action': 'FLUTTER_NOTIFICATION_CLICK',然后检查是否可行。请注意,保留HTML标记,不要添加解释。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接