8

Tôi đang sử dụng FCM trong ứng dụng Android của mình để quản lý thông báo đẩy. Nó hoàn toàn làm việc tốt khi ứng dụng ở tiền cảnh và biểu tượng ứng dụng cũng hiển thị (đúng cách). Nhưng khi ứng dụng đang chạy ở chế độ nền, tôi không nhận được thông báo chính xác. Thay vì biểu tượng trong suốt hiển thị biểu tượng hình vuông màu trắng làm biểu tượng thông báo. Tôi biết rằng, FCM sẽ tự động xử lý hoạt động nền. Nhưng tôi cần hiển thị biểu tượng ứng dụng của tôi thay vì biểu tượng màu trắng đó. Lưu ý: Tôi chỉ sử dụng biểu tượng trong suốt. Tôi cũng đã thử mã hóa bên dướiThông báo đẩy FCM hiển thị biểu tượng hình vuông màu trắng thay vì biểu tượng ứng dụng khi ứng dụng ở trong nền

<meta-data 
     android:name="com.google.firebase.messaging.default_notification_icon" 
     android:resource="@drawable/rt_transparent_icon" /> 
    <meta-data android:name="com.google.firebase.messaging.default_notification_color" 
     android:resource="@android:color/holo_blue_bright" /> 

Nhưng không có giải pháp nào thực sự hiệu quả đối với tôi. ai đo co thể noi tôi biêt tôi cân phải lam gi không?

+0

U có thể đang thử nghiệm trên 5.0 trở lên .. phải không? nếu vậy thì hãy kiểm tra điều này ra http://stackoverflow.com/questions/28387602/notification-bar-icon-turns-white-in-android-5-lollipop –

+0

Cảm ơn bạn đã trả lời. Tôi đã thử giải pháp này nhưng nó không làm việc cho tôi. – IndependentDev

+0

niềm vui của tôi :) hãy thử điều này và cho tôi biết điều gì xảy ra notification.setLargeIcon (BitmapFactory.decodeResource (context.getResources(), R.drawable.ic_app_sky)); –

Trả lời

0

tôi phải đối mặt với vấn đề này trước và giải quyết nó như thế:

private int getNotificationIcon() { 
    boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.LOLLIPOP); 
    // LOLLIPOP or Marshmellew>>>>>>>>>>>>>>>>>>>>> KitKat or Less 
    return useWhiteIcon ? R.drawable.logo_new : R.drawable.logo; 
} 

và chỉ cần gọi chức năng này trong setSmallIcon()

nbuilder.setSmallIcon(getNotificationIcon()); 
+0

Cảm ơn bạn đã trả lời nhưng giải pháp này không hiệu quả đối với tôi. Bất kỳ tùy chọn nào khác? – IndependentDev

1
{ 
"to" : "token", 
    "notification": {"body": "Body", 
"title": "Title", 
"click_action": "com.sample.test.OPEN_ACTIVITY", 
     "icon" : "ic_launcher" 
}, 
"data": { 
    "image": "https://ibin.co/2t1lLdpfS06F.png", 
    "message": "Firebase Push Message Using API" 

    } 
} 

Vì vậy, nếu tên của "biểu tượng" là như nhau như tên tệp của bạn trong ứng dụng có thể drawable, FCM sẽ xử lý kết quả, nếu ứng dụng của bạn ở chế độ nền. Trong nền trước việc thực hiện tùy chỉnh thông báo của riêng bạn, thông báo sẽ hoạt động. Chỉ cần leme biết nếu, mà giải quyết được vấn đề.

+0

đã làm việc cho tôi - nhưng tôi thực sự muốn biết cách thực hiện điều này trong mã của ứng dụng và không chuyển tiếp tên phù hợp cho tệp biểu tượng –

Các vấn đề liên quan