Я использую уведомление Firebase.Когда приложение находится на переднем плане, вызывается onMessageReceived и уведомление отображается с изображением (уведомление BigPictureStyle).но когда приложение находится в состоянии ожидания, onMessageReceived не вызывается, и вызывается базовое уведомление с заголовком и описанием.
Для обработки onMessageReceived, не вызываемой, когда приложение находится в фоновом режиме, я реализовал логику перенаправления в активности средства запуска (через намерениеbundle).
Но изображение все еще не видно.
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
sendNotification(remoteMessage);
}
private void sendNotification(RemoteMessage remoteMessage) {
Intent intent;
if (remoteMessage != null) {
RemoteMessage.Notification notification = remoteMessage.getNotification();
intent = new Intent(this, MainActivity.class);
intent.putExtra("url", url);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, REQUEST_CODE, intent,
PendingIntent.FLAG_CANCEL_CURRENT);
NotificationCompat.BigPictureStyle BigPicstyle = new NotificationCompat.BigPictureStyle()
.bigPicture(bitmap_image)
.setBigContentTitle(title)
.setSummaryText(body)
.bigLargeIcon(null);
NotificationCompat.Builder notificationBuilder = null;
notificationBuilder = new NotificationCompat.Builder(this, CHANNEL_ID);
if (bitmap_image != null) {
notificationBuilder.setStyle(BigPicstyle);
notificationBuilder.setLargeIcon(bitmap_image);
} else {
notificationBuilder.setStyle(BigTextstyle);
notificationBuilder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
}
//region setting notification
notificationBuilder
.setContentTitle(title)
.setContentText(body)
.setPriority(Notification.PRIORITY_HIGH)
.setWhen(System.currentTimeMillis())
.setVisibility(getNotificationId())
.setChannelId(CHANNEL_ID)
.setNumber(1)
.setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL)
.setContentIntent(pendingIntent);
//endregion
getManager().notify(getNotificationId(), notificationBuilder.build());
}
}
Я получаю базовое уведомление с заголовком и телом, когда приложение находится в состоянии «завершено».как я могу получить изображение, когда приложение находится в отключенном состоянии ???