實施原則:
首先我們要明白,並不是應用程序本身處理啟動圖標的修改和圖標的動態修改,而主要是在啟動器中。當應用程序安裝、更新和卸載時,會有廣播。Launcher在LauncherApplication中註冊廣播,在LauncherModel中處理接收到的廣播消息,並重新加載更新的應用信息(如應用圖標、文本等。).但是原生的android系統並不支持這個功能(而且動態修改啟動圖標的效果也無法通過發送特定的系統廣播來實現)。但在強大的第三方安卓手機廠商(如三星、小米)的系統源代碼深度定制下,通過修改Launcher源代碼,添加/註冊新的廣播接收器,接收應用發送的未讀消息號廣播。接收到廣播後,系統將顯示未讀消息數的事件交給Launcher處理,並調用相關方法重新繪制應用程序的圖標,達到動態更新應用程序圖標的效果。
示例代碼: