当应用不是 运行 时发出加载资源
Issue loading resources when app is not running
我在 android 通知上发现了关于小图标的类似问题,但是 Google 不会给我任何关于以下问题的提示:
简而言之,当应用未打开时,我的通知不会显示颜色和图标,但当应用在屏幕上可见时它会完美运行。
出现通知时,应用 运行 处于后台:
出现通知时应用在屏幕上可见:
对我来说,该服务似乎无法使用其当前上下文加载某些资源。目前我正在使用自己的 python 服务器调用 firebase REST Api 来发送通知。
虽然标题和 Text-Body 是通过通知自身的负载直接发送的,但图标和颜色由应用程序选择。
这是在服务中构建通知的方式。
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);
这是最终显示通知的片段:
final NotificationManagerCompat mNotificationManager = NotificationManagerCompat.from(context);
final boolean notificationsEnabled = mNotificationManager.areNotificationsEnabled();
if (notificationsEnabled) {
mNotificationManager.notify(notifyID, mBuilder.build());
}
感谢您的帮助!
您可以尝试:
1.更新到9.8.0版本,查看解决方案
2.
发送推送通知时设置图标和颜色。
示例JSON:
{
"notification" : {
"body" : "My amazing body!",
"title" : "My amazing title",
"icon" : "ic_logo",
"sound" : "default",
"color" : "#D63A49"
},
"registration_ids": ["XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"]
}
ic_logo是资源名
3. 发送 data
通知。这样即使应用程序处于后台
也会调用onMessageReceived(RemoteMessage message)
方法
示例JSON:
{
"data": {
"my_custom_key" : "my_custom_value",
"whatever" : "YES",
"other_key" : true
},
"to": "XXXXXXX"
}
我在 android 通知上发现了关于小图标的类似问题,但是 Google 不会给我任何关于以下问题的提示:
简而言之,当应用未打开时,我的通知不会显示颜色和图标,但当应用在屏幕上可见时它会完美运行。
出现通知时,应用 运行 处于后台:
出现通知时应用在屏幕上可见:
对我来说,该服务似乎无法使用其当前上下文加载某些资源。目前我正在使用自己的 python 服务器调用 firebase REST Api 来发送通知。
虽然标题和 Text-Body 是通过通知自身的负载直接发送的,但图标和颜色由应用程序选择。
这是在服务中构建通知的方式。
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);
这是最终显示通知的片段:
final NotificationManagerCompat mNotificationManager = NotificationManagerCompat.from(context);
final boolean notificationsEnabled = mNotificationManager.areNotificationsEnabled();
if (notificationsEnabled) {
mNotificationManager.notify(notifyID, mBuilder.build());
}
感谢您的帮助!
您可以尝试:
1.更新到9.8.0版本,查看
2. 发送推送通知时设置图标和颜色。
示例JSON:
{
"notification" : {
"body" : "My amazing body!",
"title" : "My amazing title",
"icon" : "ic_logo",
"sound" : "default",
"color" : "#D63A49"
},
"registration_ids": ["XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"]
}
ic_logo是资源名
3. 发送 data
通知。这样即使应用程序处于后台
onMessageReceived(RemoteMessage message)
方法
示例JSON:
{
"data": {
"my_custom_key" : "my_custom_value",
"whatever" : "YES",
"other_key" : true
},
"to": "XXXXXXX"
}