2016-02-16 21 views
7

Trong thông báo GCM 3.0 khi ứng dụng ở chế độ nền sẽ được xử lý bởi chính bản thân GCM SDK. Nhưng tôi không thể đặt biểu tượng Lớn thông báo được tạo khi ứng dụng ở chế độ nền.Cách đặt biểu tượng lớn cho thông báo GCM

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

myicon được gửi ở đây được hiển thị dưới dạng biểu tượng nhỏ.

Có thể đặt biểu tượng lớn để thông báo khi ứng dụng ở chế độ nền không?

Trả lời

0

Tôi muốn giới thiệu cập nhật để sử dụng FCM và căn cứ hỏa lực cho các thông báo nhưng nếu bạn đang sử dụng GCM ngay bây giờ tôi giả sử bạn có một lớp nhận đăng ký kéo dài BroadcastReceiver. Trong đó bạn nên ghi đè lên onReceive để bạn có thể tạo và hiển thị thông báo theo ý muốn.

Các tài liệu chính thức nào về thông báo giải thích tất cả các tùy chọn bao gồm thiết lập các biểu tượng lớn here

Ngoài ra còn có một số mẫu mã here.

0

Bạn có thể đặt biểu tượng lớn cho Thông báo bằng cách sử dụng phương thức setLargeIcon() trong khi bạn đang xây dựng thông báo.

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()); 
Các vấn đề liên quan