問題
不顯示浮動通知,不顯示鎖屏通知。
解決
1. 首先手機得先開啓權限
應用詳情 -> 自定義通知 -> 開啓對應的權限
2. 設置Notification的flag
Notification的flag有5個。
FLAG_AUTO_CANCEL
當通知被用戶點擊之後會自動被清除(cancel)FLAG_INSISTENT
在用戶響應之前會一直重複提醒音和震動,(如果在default那裏開啓的話)。FLAG_ONGOING_EVENT
表示正在運行的事件,例如下載進度。不能清除。FLAG_NO_CLEAR
通知欄點擊“清除”按鈕時,該通知將不會被清除。或者沒有清除的按鈕FLAG_FOREGROUND_SERVICE
表示當前服務是前臺服務,簡單通知。默認
重點來了,如果設置了FLAG_ONGOING_EVENT 或者 FLAG_NO_CLEAR 是不能點擊清除的,還會導致不會顯示懸浮通知和鎖屏通知。所以,我們不設置或者設置爲FLAG_AUTO_CANCEL就可以了
桌面顯示通知數量
不是所有桌面都可以的。 桌面是第三方的應用了。你的應用不能去修改它的東西。
但是miui的系統對系統有做手腳。通過反射可以設置桌面圖標消息數量。
設置好了notification之後,在下面加下面一段代碼就可以了。
//小米顯示桌面消息數量
try {
Field field = notification.getClass().getDeclaredField("extraNotification");
Object extraNotification = field.get(notification);
Method method = extraNotification.getClass().getDeclaredMethod("setMessageCount", int.class);
method.invoke(extraNotification, 這裏填寫數量);
} catch (Exception e) {
e.printStackTrace();
}