android - 应用未运行时加载资源的问题

标签 android firebase android-notifications firebase-cloud-messaging firebase-notifications

我在 Android 通知上的小图标上发现了类似的问题,但 Google 不会向我提供有关以下问题的任何提示:

简单而简短,当应用程序未打开时,我的通知不会显示颜色和图标,但当应用程序在屏幕上可见时,它会完美地工作。

出现通知时应用程序正在后台运行:

App is running in background when notification appears

出现通知时应用程序在屏幕上可见:

App is visible on the screen when notification appears

对我来说,该服务似乎无法使用其当前上下文加载某些资源。目前,我正在使用自己的 python 服务器调用 firebase REST Api 来发送通知。

虽然标题和文本正文直接通过通知自己的负载发送,但图标和颜色由应用程序选择。

这就是在服务中构建通知的方式。

final Context context = this.getApplicationContext();

final NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
                .setDefaults(Notification.DEFAULT_SOUND)
                .setContentTitle(notification.getTitle())
                .setContentText(notification.getBody())
                .setColor(ContextCompat.getColor(context, R.color.notification))
                .setSmallIcon(R.drawable.ic_local_shipping_white_24dp);

这是最终显示通知的 fragment :

final NotificationManagerCompat mNotificationManager = NotificationManagerCompat.from(context);
final boolean notificationsEnabled = mNotificationManager.areNotificationsEnabled();
if (notificationsEnabled) {
    mNotificationManager.notify(notifyID, mBuilder.build());
}

感谢您的帮助!

最佳答案

您可以尝试:

1.更新至版本9.8.0并检查THIS解决方案

2. 设置发送推送通知时的图标和颜色。

示例 JSON:

{
     "notification" : {
      "body" : "My amazing body!",
      "title" : "My amazing title",
      "icon" : "ic_logo",
      "sound" : "default",
      "color" : "#D63A49"
    },
    "registration_ids": ["XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"]
}

ic_logo是资源名称

3.发送数据通知。这样,即使应用程序处于后台,也会调用 onMessageReceived(RemoteMessage message) 方法

示例 JSON:

{
    "data": {
        "my_custom_key" : "my_custom_value",
        "whatever" : "YES",
        "other_key" : true
     },
    "to": "XXXXXXX"
}

关于android - 应用未运行时加载资源的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40931053/

相关文章:

android - 如何退出应用程序并显示主屏幕?

android - java.lang.NullPointerException : at com. 谷歌.firebase.iid.zzad.zzchp

ios - 从 firebase + iOS 获取数据时加载数据缓慢

ios - 如何发送 click_action Firebase 通知。 ( swift )

android - 当我的应用收到广播消息时如何创建通知

java - 使用 Appium 和 Gradle 进行 Android 测试

java - 从同一类中的另一个方法访问一个方法 - android

ios - iOS FirebaseAnalytics Pod 中的非模块 header

java - FirebaseJobDispatcher - 显示来自 JobService 的通知

android - 为什么我不能导入 'androidx.core.app.NotificationChannelCompat' ?