[英]Java Android - Redmi 3 (MIUI) - Notification icons cannot be changed?
我正在嘗試更改通知圖標,在模擬器中可以:
這就是我想要的(在模擬器API級別22(安卓5.1.1)上測試)但是,當我在我的真實手機中運行這個APP時(小米Redmi 3 prime與MIUI 8.0.1)也是android 5.1.1 - 通知看起來非常非常不同。 此通知圖標未顯示(僅顯示默認應用程序圖標)。
但為什么? 我現在能做什么?
這是我的代碼:
NotificationCompat.Builder b = new NotificationCompat.Builder(compat);
b.setSmallIcon((state == STATE_STOPPED) ? R.drawable.ic_stat_remove : R.drawable.check);
b.setContentText(content);
b.setContentTitle(BASE_NOTIFICATION_TITLE);
b.setOngoing(true);
b.setAutoCancel(true);
b.setColor((state == STATE_STOPPED) ? Color.RED : Color.rgb(22, 219, 28));
NotificationManager m = (NotificationManager) compat.getSystemService(NOTIFICATION_SERVICE);
m.notify(0, b.build());
只是一個非常簡單的通知...有人能告訴我,有什么不對嗎? 或者只是MIUI關閉所有通知圖標並將其設置為默認的應用程序啟動圖標?
謝謝!
編輯:我的手機通知看起來像這樣......
我有同樣的問題,但Juan Pablo(評論Java Android - Redmi 3(MIUI) - 通知圖標無法更改? )給了我一個線索,現在我有一個解決方案:
//notification is an object of class android.app.Notification
try {
Class miuiNotificationClass = Class.forName("android.app.MiuiNotification");
Object miuiNotification = miuiNotificationClass.newInstance();
Field field = miuiNotification.getClass().getDeclaredField("customizedIcon");
field.setAccessible(true);
field.set(miuiNotification, true);
field = notification.getClass().getField("extraNotification");
field.setAccessible(true);
field.set(notification, miuiNotification);
} catch (Exception e) {
}
現在它按預期工作。
這是MIUI系統的行為。 您無法在通知中顯示不同的圖標,默認情況下,它會將應用程序圖標作為通知圖標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.