首页 > 解决方案 > 无法使用 Firebase 云消息传递在浏览器中打开 URL

问题描述

我正在尝试使用 Firebase Cloud Messaging 打开一个 URL,但它不起作用。有许多与此主题相关的旧问题以前在这里问过,但在当前场景中都没有。也许有些事情已经改变或者我的代码可能有问题。所以这是我的代码。

    public void openLink(String title, String url, String message){
        Intent i = new Intent(Intent.ACTION_VIEW);
        i.setData(Uri.parse(url));
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, i, PendingIntent.FLAG_ONE_SHOT);
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "MyNotification")
                .setContentTitle(title)
                .setSmallIcon(R.drawable.ic_logo)
                .setAutoCancel(true)
                .setContentText(message)
                .setContentIntent(pendingIntent);
        NotificationManagerCompat managerCompat =  NotificationManagerCompat.from(this);
        managerCompat.notify(999, builder.build());
    }

onMessageReceived这样称呼它。

        openLink(remoteMessage.getNotification().getTitle(),remoteMessage.getData().get("url"), remoteMessage.getNotification().getBody());

但不是在点击通知时在浏览器中打开 URL 而是打开我的应用程序。那么打开 URL 的代码或方法是否有问题已更改?

标签: androidurlfirebase-cloud-messaging

解决方案


有两种发送推送通知的方法。

1-转到firebase控制台>云消息>新消息,并发送一个通知,问题是它将由android OS显示而你无法控制它

2-使用消息传递api并发送一个json在这种情况下你应该摆脱json中的“通知”部分并发送所有数据。最难的部分是你应该处理显示消息。

如果您在 json 中添加“通知”,Android OS 本身将负责显示和处理消息。通过删除你自己来处理它

在此处输入图像描述


推荐阅读