2016-02-16 13 views
7

In GCM 3.0 la notifica quando l'applicazione è in background verranno trattati da GCM SDK sé. Ma non riesco a impostare l'icona Grande la notifica creata quando l'app è in background.Come impostare grande icona per la notifica GCM

{ 
    "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", 
    "notification" : { 
     "body" : "great match!", 
     "title" : "Portugal vs. Denmark", 
     "icon" : "myicon" 
    } 
} 

Il myicon inviato qui viene visualizzato come la piccola icona.

E 'possibile impostare grande icona per la notifica quando l'applicazione è in background?

risposta

0

Si consiglia di aggiornare per utilizzare FCM e Firebase per le notifiche, ma se si utilizza GCM in questo momento presumo che tu abbia una classe di ricevitore registrata che si estende BroadcastReceiver. In questo caso è necessario eseguire l'override di onReceive in modo da poter costruire e visualizzare la notifica come preferisci.

La documentazione ufficiale sulle notificazioni spiegano tutte le opzioni tra cui l'impostazione della grande icona here

C'è anche alcuni esempi di codice here.

0

È possibile impostare grande icona per la vostra notifica utilizzando setLargeIcon() metodo mentre si sta costruendo la notifica.

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()); 
Problemi correlati