桌面Icon显示消息未读数目
原理:原生android 不支持。但是对于改过源代码的android系统,假如提供了广播去修改Icon,那么我们就可以通过这个广播来修改Icon达到显示消息数的效果。
支持手机:MIUI Sony Samsung LG HTC Nova
实现:
AppInfoUtil:里面只有一个方法,getLauncherClassName(Contextcontext),得到应用的信息。其中主要有来两个类,PackageManager和ResolveInfo。
PackageManager:用来返回各种的关联了当前已装入设备了的应用的包的信息。
ResolveInfo:通过解析一个与IntentFilter相对应的intent得到的信息。它部分地对应于从AndroidManifest.xml的<intent>标签收集到的信息。
BadgeUtil: 根据判断手机类型,然后对图标操作的类。
暴露出方法setBadgeCount(Contextcontext, int count, int iconResId)和resetBadgeCount(Contextcontext, int iconResId)
供外部使用,前者设置消息角标出现 count为消息数,iconResId为应用图标。后者取消消息显示。
MainActivity:两个按钮点击事件,调用BadgeUtil里面暴露的两个方法。
添加权限:在配置文件中的权限需