单击fcm通知时打开浏览器,而不是打开启动器活动

问题描述 投票:2回答:1

单击FCM通知时是否可以打开浏览器,而不是打开启动器活动?我知道可以使用覆盖onMessageReceived()方法,但我不想这样做。我检查了有效负载中的click_action参数,但正如Firebase所说:

如果指定,将启动具有匹配意图过滤器的活动当用户单击通知时。

我尝试在Firebase cloudMessaging面板内的CustomData中添加click_action

enter image description here

但是它不起作用,而是打开应用程序。

我为此目的使用邮递员发送通知,并将click_action添加到notification对象,如下所示:

enter image description here

通知发送到我的设备,但是当单击它时,什么也没有发生。

重要:我的apk在GooglePlay上发布,我无法更改应用程序的源代码。

请任何人帮助。

谢谢。

android firebase firebase-cloud-messaging firebase-notifications
1个回答
0
投票

当您的应用在后台运行时。通知将发送到设备的系统托盘。用户点击通知会默认打开应用启动器。

如果消息中包含数据,则通知将发送到设备的系统托盘,并且数据有效载荷将在启动器活动的意图范围内进行传递。

因此您可以根据不同的数据来处理条件。

  1. 在通知有效内容中设置click_action
{
  ...
  "notification": {
      "click_action": "activity action"
  },
 ....
}

2。在最主要的情况下,您必须配置过滤器。

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

然后单击它,它将打开该动作活动。这是文件描述:

如果指定,当用户单击通知时,将启动具有匹配的意图过滤器的活动。

所以我认为您尝试将click_action acton设置为与浏览器选择器操作或“ Intent.ACTION_VIEW”以及类似“ http://”的数据集相匹配。

我希望能为您提供帮助

© www.soinside.com 2019 - 2024. All rights reserved.