В уведомлении GCM 3.0
когда приложение находится в фоновом режиме, будет обрабатываться сам GCM SDK
. Но я не могу установить Значок Большой, уведомление, созданное, когда приложение находится в фоновом режиме.
{ "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", "notification" : { "body" : "great match!", "title" : "Portugal vs. Denmark", "icon" : "myicon" } }
myicon
отправленный здесь, отображается как маленький значок.
Можно ли установить большой значок для уведомления, когда приложение находится в фоновом режиме?
Я бы рекомендовал обновить, чтобы использовать FCM
и Firebase для уведомлений, но если вы используете GCM
прямо сейчас, я предполагаю, что у вас есть зарегистрированный класс приемника, который расширяет BroadcastReceiver
. Там вы должны переопределить onReceive
чтобы вы могли создавать и отображать уведомление, как вам нравится.
Официальные документы об уведомлениях объясняют все варианты, включая установку большого значка здесь
Здесь также есть пример кода.
Вы можете установить большой значок для своего уведомления с помощью setLargeIcon()
во время создания уведомления.
public class MyGcmListenerService extends GcmListenerService { private static final String TAG = "MyGcmListenerService"; ............................ ............................. NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.icon) .setColor(ContextCompat.getColor(this, R.color.colorAccent)) .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.icon)) .setContentTitle(title) .setContentText(body) .setAutoCancel(true) .setSound(defaultSoundUri) .setGroupSummary(true) .setStyle(new NotificationCompat.BigTextStyle().bigText(job_title)) .setContentIntent(pendingIntent); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify((int) System.currentTimeMillis() /* ID of notification */, notificationBuilder.build());