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

Android通知图标问题

栾钟展
2023-03-14

我有一个奇怪的问题。我有两种方式在我的Android应用程序中发送通知;一种来自Android服务,另一种通过FCM。

场景如下:

  1. 无论应用程序是否正在运行,Android服务发送的通知图标都会正确显示

我在FCMService中的代码:

Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                .setSmallIcon(R.drawable.notification_icon)
                .setContentTitle("Android App")
                .setContentText(messageBody)
                .setAutoCancel(true)
                .setSound(defaultSoundUri)
                .setContentIntent(pendingIntent);

        NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(0, notificationBuilder.build());

共有2个答案

许安邦
2023-03-14

这是github fcm页面中详细介绍的FMC错误。

https://github.com/firebase/quickstart-android/issues/4

程凯定
2023-03-14

您的问题很可能是通知消息数据消息之间的区别。

请阅读:https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

当您希望FCM代表您的客户端应用程序处理显示通知时,请使用通知消息。当您想在客户端应用程序上处理消息时,请使用数据消息。

目前,FCM Web控制台仅发送通知消息

因此,通过Web控制台(或通过带有通知有效负载的API)发送的所有消息将以这种方式:

  1. 如果应用程序关闭或在后台:FCM将显示通知。如果您想自定义它,您可以,但您需要提供特定配置(在清单或发送API调用中),请参阅https://firebase.google.com/docs/cloud-messaging/android/client#manifest
  2. 如果应用程序在前台:FCM将调用onMessageReception()

.

如果您想要的行为是始终调用onMessageReceived()
那么您需要使用仅数据(无通知)消息

 类似资料:
  • 由于通知图标没有一个单独的图像,我有点不知道如何做到这一点。 谢谢

  • 根据android iconography文档,状态栏中的图标应该是完全白色的,背景是透明的。然而,即使是内置的图标似乎也不都遵循这种模式。信号质量(适用于wifi和电池)、电池指示器和其他一些新设备上的图标上有全息蓝色背景。这个颜色是不是内置在图标本身?我正在寻找实现一个状态栏图标与我的应用程序,将表明一个连接到外部(蓝牙)设备的状态。我计划做我的公司徽标(它是一个相当简单的,大部分是圆形的形状

  • 我今天的通知图标有一个奇怪的问题。 我做了什么坏事吗? 这是我的图标图片(刚从这里下载https://material.io/icons/#ic_photo) : http://image.noelshack.com/fichiers/2016/44/1478185219-icon-notification.png 我错过什么了吗? 作为记录,我使用的是SDK 24,目前只创建了hdpi资源文件夹

  • 当对推送通知使用解析时,我们的应用程序总是显示应用程序的启动器图标。在最新的Android5.1版本中,图标看起来是空白的(一个白色的正方形)。

  • 我想用我自己的推送通知图标替换默认图标。 现在,应用程序将图标显示为白色框。

  • 如何隐藏或完全删除SmallIcon?我尝试不使用nBuilder.setSmallIcon,但结果是通知根本不显示!