Android之Badge显⽰

Badge概述

所谓Badge,原本是IOS上的一个效果,指的是当手机接收到推送消息后,会在手机桌⾯面对应的App图标的右上角显示一个未读消息数的提⽰。

而在Android系统中,手机桌面的管理是在系统应用Launcher上实现的,然而在原生的Android系统中,Launcher是不提供改功能效果的。但是,由于Android的AOSP(Android开放源码项目)代码能够被各大ROM厂商修改,所以很多被修改的ROM都可以支持这种Badge效果。

基本原理

都是监听App发出的广播,然后根据广播内容进行Launcher层面的快捷方式的修改。

难点

由于没有Android原生系统的支持,所以ROM厂商的实现方式很不统一,基本都是自己做自己的。因此,关键是要找到这些Launcher修改的广播(厂家提供的私有API)。

不同厂商API

  • 三星

    String launcherClassName = getLauncherClassName(context);
    if (launcherClassName == null) {
    return;
    }
    Intent intent = new Intent("android.intent.action.BADGE_COUNT_UPDATE");
    intent.putExtra("badge_count", count);
    intent.putExtra("badge_count_package_name", context.getPackageName());
    intent.putExtra("badge_count_class_name", launcherClassName);
    context.sendBroadcast(intent);
  • 华为

    String launcherClassName = getLauncherClassName(context);
    if (launcherClassName != null) {
    Bundle extra = new Bundle();
    extra.putString("package", ct.getPackageName());
    extra.putString(
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值