角標記值的計算邏輯是統計應用通知欄中顯示的非居民通知(可以手動清除的通知)並累計其messageCount值。
每個通知的messageCount值默認為1,開發人員可以通過反射設置messageCount值。請參考開發者文檔:MIUI 6到MIUI 11桌面邊角適配說明。
當用戶點擊桌面上的應用程序圖標啟動應用程序時,應用程序角將同時隱藏。在應用程序發送新通知或更新通知的messageCount值之前,不會再次顯示角標記。
問:應用程序發送了通知,但桌面應用程序角沒有顯示。
a:首先打開應用通知設置頁面,在“設置-通知管理”中點擊應用,檢查“顯示桌面圖標角”開關是否打開。默認情況下,大多數應用程序都是關閉的。
其次,確認通知欄中是否有該應用程序的非居民通知(可以手動清除的通知)。
最後,您需要確認通知的messageCount值是否正確。
問:壹些國外聊天應用程序接收消息和發送通知後,桌面角總是顯示為1。
a:當同壹聯系人發送新消息時,這類應用是通過更新通知內容來實現的,即通知欄中始終只有壹個通知,因此角值顯示為1。
如果應用程序想要自定義顯示的角標記值,請參考:MIUI 6到MIUI 11桌面角標記適配說明。
問:桌面應用程序圖標顯示角標記。當應用程序在最近的任務中關閉時,角標記會消失。
答:最近任務關閉應用程序後,應用程序的所有通知都將被清除,因此桌面應用程序角將被隱藏。
問:桌面應用程序圖標顯示角標記。單擊應用程序圖標後,角標記會消失。
答:單擊應用程序圖標後,應用程序圖標的角默認會隱藏。
它可以通過以下兩種方式重新顯示:
模式1:發送新的通知,並且其通知id與先前發送的通知id不重復。
方法2:更新已發送通知的messageCount值。
問:為什麽桌面應用corner marker的最大顯示值是9?
a:通知欄中顯示的應用程序發送的通知數量是有限制的,每個應用程序最多只能顯示10個通知。
如果應用程序中未指定groupkey,系統將默認為三個以上的項目發送自動摘要通知,並按組顯示應用程序的通知。也就是說,在這種情況下,用戶可見的通知數量是9個,桌面上顯示的應用程序角也是9個。
如果應用程序想要自定義顯示的角標記值,請參考:MIUI 6到MIUI 11桌面角標記適配說明。
問:還有其他方法設置messageCount值嗎?
答:有兩種方法:
mode 1:notification . number = message count;
方法二:notification . extras . putint(“miui . message count“,message count);
問:messageCount的值是通過開發人員的文檔設置的,但桌面應用程序角標簽顯示的值與預期不同。
答:桌面應用程序角值是通知欄中顯示的非常駐通知(可以手動清除的通知)的messageCount值。也就是說,在開發人員設置通知的messageCount值後,桌面應用程序角標簽會顯示設置的messageCount值。
問:如何查看通知的messageCount值?
a:將電腦與MIUI12手機連接,在命令行執行:ADB shell dumpsys活動服務systemuiservice,並搜索活動通知字段以查看當前通知欄中顯示的所有通知。
通過pkg+ notification id找到相應的通知,並檢查其messageCount值是否符合預期。