日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android代码设置角标,Android上的Badge,快速实现给应用添加角标

發布時間:2025/3/11 Android 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android代码设置角标,Android上的Badge,快速实现给应用添加角标 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

應用角標是iOS的一個特點,原生Android并不支持。或許是由于當時iOS的通知欄比較雞肋(固然如今已經改進了不少),而Android的通知欄功能強大?因此才出現了一方依賴于數字角標,一方堅持強大的通知欄,在平常使用中這兩種交互方式都各有特點,沒什么違和感。可是啊,總有人想搞些大新聞:html

當收到推送而應用沒有未讀角標時:

安卓---什么爛手機!安卓就是不行!

蘋果---我靠,這應用居然連角標都不支持!刪掉。android

因此啊,眾多手機廠商的定制系統或者Launcher都效仿iOS自定義了該功能。若是嫌適配麻煩,能夠看看Github上的兩個項目:git

我嘗試了ShortcutBadger(1.1.13):3d

使用下來,在華為、三星、小米、索尼、APEX上實測成功。可是發現了兩個問題:調試

一、有些設備可能會拋出異常,致使設置失敗。實測在Samsung Galaxy Note3(Android5.0)上就是如此,發現異常是在這里拋出的htm

這里顯示角標是經過發送廣播實現,而canResolveBroadcast方法是檢查是否存在該廣播對應的接收器,不知為什么有些設備會找不到。blog

因此我down了一份代碼,直接改了canResolveBroadcast方法,而后手動把aar包導入到項目中使用了文檔

二、小米比較特別,他的角標數量直接由通知欄數量決定。用以上方法處理時,通知欄會同時出現一條空的通知。因此小米的角標我作了單獨處理

在收到推送消息建立通知時,經過反射把角標數量設置進通知中,這也是官方文檔中的作法。

值得注意的一點是,若是你的通知有好幾類,好比:有郵件的、有新動態的等,郵件的通知是一封郵件對應一個通知,而新動態是折疊在一塊兒的(你有xx條新動態未讀),甚至還有其余不是透傳形式的推送通知的。我原覺得在設置角標的時候要手動計算出當前全部通知的數量,但通過驗證,咱們只須要關心當前收到的這條消息,若是是折疊的就要用上述方法手動設置數量,其余的并不須要處理,一條通知對應的角標數量默認就是一,同時MIUI會自動計算通知數的總和去更新角標。

三、在榮耀9上調試demo,發現一直無效,提示權限問題,可是權限是的確申請了的。

無心發現申請了 以后就解決了。

最后,若是你是針對某個系統或Launcher單獨寫時,能夠直接搜索各家的適配方法,但無論是哪一種。。千萬別忘了在AndroidManifest中有沒有添加相應的Badge權限啊~

總結

以上是生活随笔為你收集整理的Android代码设置角标,Android上的Badge,快速实现给应用添加角标的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。