Android 应用桌面角标显示
前言
### 什么是角标?
首先如图1所示,角标就是当有消息来的时候,桌面上应用的图标会用数字显示新消息的条数。
应用角标先出现在ios系统上,apple用于消息通知。实际上,Android原生系统并不支持桌面应用角标的显示,各个Android厂商在定制系统的时候,模仿ios系统,实现了这个功能,角标实现主要是厂商定制Launcher(启动器)来实现,为应用预留了接口。具体地,在应用开发中实现方法主要分为两种,通过getContentResolver或是sendBroadcast方式传递消息数目来实现。不同的厂商需要的权限和传递参数不同,所以需要根据不同的厂商单独实现,此外,并不是每个厂商都将角标功能对外开放了,下面主要介绍常见厂商角标功能的实现方法。
华为
跟华为开发者联盟客服联系确认,华为已经将角标的权限对外开放,不用再去申请证书什么的麻烦操作。亲测华为角标支持EMUI 3.1及以上。具体实现如下:
a) 声明权限,如下:
<uses-permission android:name=" com.huawei.android.launcher.permission. CHANGE_BADGE"/>
b) 在需要进行角标显示地方,采用如下方法传递数据给华为桌面应用
Bundle extra =new Bundle();
extra.putString("package", "xxxxxx");
extra.putString("class", "yyyyyyy");
extra.putInt("badgenumber", i);
context.getContentResolver().call(Uri.parse("co