Android Notification不顯示浮動通知,不顯示鎖屏通知

問題

不顯示浮動通知,不顯示鎖屏通知。

解決

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();
        }
發佈了106 篇原創文章 · 獲贊 380 · 訪問量 75萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章