public void backGroundNotification() {
Intent intent = new Intent(this, MainActivity.class);
// Send data to NotificationView Class
intent.putExtra("title", title);
intent.putExtra("text", body);
intent.putExtra("imageUrl", imageUrl);
intent.putExtra("type", type);
intent.putExtra("id", id);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
pendingIntentPromo = PendingIntent.getActivity(this,0,intent, PendingIntent.FLAG_ONE_SHOT);
new LoadBitmap().execute("");
}
private class LoadBitmap extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
try {
bit = Glide.
with(MyFirebaseMessagingService.this).
load(imageUrl).
asBitmap().
into(100, 100). // Width and height
get();
} catch (Exception e) {
e.printStackTrace();
Log.e("noti exp", e + "");
}
return null;
}
@Override
protected void onPostExecute(String s1) {
if (bit != null) {
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(MyFirebaseMessagingService.this)
.setSmallIcon(R.drawable.app_icon)
.setContentTitle(title)
.setContentText(body)
.setAutoCancel(true)
.setTicker("DealDio")
.setSound(sound)
.setVibrate(vibration)
.setContentIntent(pendingIntentPromo)
.setStyle(new NotificationCompat.BigPictureStyle()
.bigPicture(bit)
.bigLargeIcon(null)
.setSummaryText(body));
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
}
}
}
У меня есть много вещей для поиска, но я всегда находил решение для получения уведомлений в фоновом режиме или при загрузке данных.По моему мнению, растровое изображение не создается в фоновом режиме.
Я уже использую данные и получил уведомление в фоновом режиме, и его показывает в панели уведомлений, но расширяемое изображение не отображается, как на переднем плане, он работает нормально.