当前位置: 首页 > 知识库问答 >
问题:

Firebase通知消息未显示在托盘图标上?

冷俊健
2023-03-14

我将使用此示例将Firebase云消息与我的应用程序集成。通过Firebase控制台发送消息,包括目标用户细分和主题(主题是新闻)都有效。我的应用程序将显示包含消息的祝酒词。

我想要的是通知消息,这将自动显示在Android通知托盘,而不是吐司。在阅读了FCM概念之后,我用curl做了如下尝试:

curl -H "Content-type: application/json" -H "Authorization:key=AAAA....ahjkdkhajksd"  -X POST -d '{ "to": "/topics/news", "notification": { "body":"foo", "title":"bar", "icon":""}}' https://fcm.googleapis.com/fcm/send

它通过Toast显示,而不是Android通知托盘。这里可能会出错吗?

共有1个答案

傅志诚
2023-03-14

如果您的应用程序位于前台,通知不会自动显示到通知栏。如果您希望您的应用程序即使您的应用程序位于前台也显示通知,您需要添加以下代码。

MyFirebaseMessagingService.java

public class MyFirebaseMessagingService extends FirebaseMessagingService {

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    JSONObject object = new JSONObject(remoteMessage.getData());
    try {
        String title = object.getString("title");
        String message = object.getString("message");

        Intent intent = new Intent(getBaseContext(), MainActivity.class);
        PendingIntent contentIntent = PendingIntent.getActivity(getBaseContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

        NotificationCompat.Builder b = new NotificationCompat.Builder(getBaseContext());

        b.setAutoCancel(true)
                .setDefaults(Notification.DEFAULT_ALL)
                .setWhen(System.currentTimeMillis())
                .setSmallIcon(R.drawable.ic_launcher)
                .setTicker("Ticker")
                .setContentTitle(title)
                .setContentText(message)
                .setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_SOUND)
                .setContentIntent(contentIntent)
                .setContentInfo("Info");

        Random r = new Random();
        int randomNo = r.nextInt(100000000 + 1);

        NotificationManager notificationManager = (NotificationManager) getBaseContext().getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(randomNo, b.build());
    } catch (JSONException e) {
        e.printStackTrace();
    }
    super.onMessageReceived(remoteMessage);
}
}
 类似资料:
  • 我正在使用php使用Firebase向我的Android应用程序构建使用统一发送消息推送。应用程序正在接收通知并将其显示在托盘中,但不会像Whats应用程序或其他应用程序那样将其显示为弹出通知。 我的php代码是: 它还显示灰度图标而不是彩色图标。我想以弹出方式显示通知。有任何方法可以使用FCM吗?

  • 我已经用ReactJS创建了一个PWA应用程序。我还实施了 Firebase 云消息传递功能,用于在设备上显示推送通知。 当我在Android手机上安装我的PWA时,我得到了正确的消息推送。 但是我的通知找不到怎么发图标 我用FirebaseAdmin SDK完成的ASP.NET核心WebApi (2.2)来触发通知。 我来自PWA的manifest.json文件看起来是正确的。(192x192

  • 在Android5上,我的通知栏上的应用图标变为白色。我在Android5Lollipop上看到这个通知栏图标变为白色,但我如何在我的codenameone应用上更改它。

  • 我是FCM的新手。我不能让FCM使用我的应用图标作为通知图标,图标总是一个白色的空白。 我将一个图标导入到文件夹,但似乎没有任何改变。就像一些人说的,这是因为这个问题中的Lollipop通知 但问题是,FCM通知自动弹出,我无法让通知生成器覆盖图标。我怎么改?

  • 为什么?下面是处理消息的官方代码

  • null 我遵循Xamarin的文档实现了这个功能。 然后一步一步地执行,直到下面的部分: 后台通知 我点击了Log Token按钮并收到了令牌。 null Firebase控制台显示消息为“完成”。 我错过了什么来解决这个问题?