华为手机如何在应用图标上展示未读消息数字提醒?

Melody_ssdut 2015-10-31 04:19:53
我最近想实现在图标上展示新消息的数目提醒,类似ios的badge。一开始使用的是增删桌面快捷方式的方法,我发现该方法除了未能适配主流手机外,还存在2个缺点:
1.有的手机会在增加和删除快捷方式时弹出Toast;
2.我用canvas和paint画出了数字在右上角显示的图标,因为canvas的大小和普通的图标一样大,所以只看应用的图片的话,就显得小了。
以上这两个缺点我都不想要,克服的话,经百度大家都说要修改Launcher,但是我又没有这个本事就放弃了。
后来在stackoverflow上看到大家对这个问题的讨论,进而在github上发现了ShortCutBadger这个项目https://github.com/leolin310148/ShortcutBadger/,经过测试很给力!!它直接把应用列表中的icon改了,而且大小和谐,我在三星手机和华硕平板上都测试通过了。但是问题是,这里并未给出华为手机的相关处理方法,我觉得华为用户不可小觑,自己用的就是华为机,所以我就找到了这篇http://stackoverflow.com/questions/20216806/how-to-add-a-notification-badge-count-to-application-icon-on-sony-xperia-devices,作者讲述了他在sony手机实现badge的过程。但是我一没翻墙,二没root,实在是想不出办法了,所以想问问各位高手,在此先谢过了!
既然路过就留下点什么呗~~~~~~
...全文
18491 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
iblue007 2017-12-11
  • 打赏
  • 举报
回复
引用 29 楼 jdfkldjlkjdl 的回复:
问题解决,extra.putString("class", "yyyyyyy");,这里的class必须是launcherclass
launcherclass 是多少呀?
AndroidDev2022 2017-12-11
  • 打赏
  • 举报
回复
引用 31 楼 iblue007 的回复:
[quote=引用 29 楼 jdfkldjlkjdl 的回复:] 问题解决,extra.putString("class", "yyyyyyy");,这里的class必须是launcherclass
launcherclass 是多少呀? [/quote]就是你应用中最开始启动的那个Activity,
慢行的骑兵 2017-10-09
  • 打赏
  • 举报
回复
关于应用图标显示未读消息数量,找了一些资料:https://community.jiguang.cn/t/topic/13924,但是还是存在许多问题,没能符合项目需求,我只有小米5s做,用的是ShortcutBadger,通过jpush自定义消息的方式,在代码中设置未读消息数量.项目需求是:需要获取未读消息的总数进行设置, 极光不提供获取未读消息数量的方法,因为无法做到适配所有的机型 ,这部分需要自己完成,请教1:如何控制未读消息数量,后台传递实现不了,要做也只能在app内实现:请教2:点击了一个通知,未读消息数量,自动清0了,这样会影响自己设置未读消息数量,另外, 应用打开的情况设置未读消息没有效果.
AndroidDev2022 2017-08-17
  • 打赏
  • 举报
回复
问题解决,extra.putString("class", "yyyyyyy");,这里的class必须是launcherclass
AndroidDev2022 2017-08-16
  • 打赏
  • 举报
回复
华为的确开发了桌面角标的功能,不过我按照对方发过来的文档接入后,并不能显示角标,有遇到的没,我的代码如下: 1.声明权限,如下: <uses-permission android:name=" com.huawei.android.launcher.permission. CHANGE_BADGE"/> 2.在需要进行角标显示地方,采用如下方法传递数据给华为桌面应用 Bundle extra =new Bundle(); extra.putString("package", "xxxxxx"); extra.putString("class", "yyyyyyy"); extra.putInt("badgenumber", i); context.getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"), "change_badge", null, extra); 关键参数说明【红色部分为填充参数】 package:应用包名 class:桌面图标对应的应用入口Activity类 badgenumber:角标数字
win_xiang 2017-02-14
  • 打赏
  • 举报
回复
现在华为已经开放角标功能了。楼主可以看看去了
qq_21206775 2016-07-22
  • 打赏
  • 举报
回复
我看了很多篇文章,对其中的每个都测试了,就几个是可行的,我只有小米手机,测试起来第一次是可以准确提醒,我在界面里面添加了一个button,点击button后为已读消息,没点击则还是未读状态,但是我未读,返回桌面的时候,那个未读图标消息数已经没了,不知道用什么方法解决
上帝灬半毛钱 2016-07-07
  • 打赏
  • 举报
回复
HI,Melody_ssdut!能麻烦你将研究出来的角标源码分享一下吗,最近在搞这一块,遇到各种问题,而且github上的源码我再AS上各种跑不起来 删减了配置可以跑了 但功能也都无效了,麻烦分享到CSDN网盘,给个链接!谢谢!
Melody_ssdut 2016-05-12
  • 打赏
  • 举报
回复
引用 23 楼 qq_15867901 的回复:
楼主,我也找到了github上的那个程序,但是还是很多机型不支持,你做联想的了吗。华为的有别的办法解决吗?
联想的没有研究,没有联想手机。 华为,我现在还没有找到解决办法。
安卓小小生 2016-05-11
  • 打赏
  • 举报
回复
楼主,我也找到了github上的那个程序,但是还是很多机型不支持,你做联想的了吗。华为的有别的办法解决吗?
Melody_ssdut 2016-04-15
  • 打赏
  • 举报
回复
引用 21 楼 qq_15867901 的回复:
楼主现在能用了吗
不能,还没有找到好办法
安卓小小生 2016-04-14
  • 打赏
  • 举报
回复
楼主现在能用了吗
A_YO_乐呀 2016-04-05
  • 打赏
  • 举报
回复
引用 19 楼 Melody_ssdut 的回复:
[quote=引用 18 楼 wanglj0925 的回复:] [quote=引用 17 楼 Melody_ssdut 的回复:] [quote=引用 16 楼 wanglj0925 的回复:] 我也和你一样要实现这个功能 也是找到了 github上的那个项目。现在到处找华为手机的解决办法,你在第九楼说的意思是一般应用华为不开放这个么 现在解决了没有
现在还是没有解决,暂时用通知栏提醒了[/quote] 看到华为开发者联盟有提供这样的接口调用 但是需要申请开发者账号 上周申请的时候官网在维护 明天上班再去看看行不行[/quote] 说的是实名认证?这个批准是很快的,我进行到签署《API 授权证书使用协议》这一步的时候,客服说“角标属于受限开放能力,仅面向即时通信领域前五的app开放” [/quote] 好吧 这个实在是太坑了
Melody_ssdut 2016-04-05
  • 打赏
  • 举报
回复
引用 18 楼 wanglj0925 的回复:
[quote=引用 17 楼 Melody_ssdut 的回复:] [quote=引用 16 楼 wanglj0925 的回复:] 我也和你一样要实现这个功能 也是找到了 github上的那个项目。现在到处找华为手机的解决办法,你在第九楼说的意思是一般应用华为不开放这个么 现在解决了没有
现在还是没有解决,暂时用通知栏提醒了[/quote] 看到华为开发者联盟有提供这样的接口调用 但是需要申请开发者账号 上周申请的时候官网在维护 明天上班再去看看行不行[/quote] 说的是实名认证?这个批准是很快的,我进行到签署《API 授权证书使用协议》这一步的时候,客服说“角标属于受限开放能力,仅面向即时通信领域前五的app开放”
A_YO_乐呀 2016-04-04
  • 打赏
  • 举报
回复
引用 17 楼 Melody_ssdut 的回复:
[quote=引用 16 楼 wanglj0925 的回复:] 我也和你一样要实现这个功能 也是找到了 github上的那个项目。现在到处找华为手机的解决办法,你在第九楼说的意思是一般应用华为不开放这个么 现在解决了没有
现在还是没有解决,暂时用通知栏提醒了[/quote] 看到华为开发者联盟有提供这样的接口调用 但是需要申请开发者账号 上周申请的时候官网在维护 明天上班再去看看行不行
Melody_ssdut 2016-04-01
  • 打赏
  • 举报
回复
引用 16 楼 wanglj0925 的回复:
我也和你一样要实现这个功能 也是找到了 github上的那个项目。现在到处找华为手机的解决办法,你在第九楼说的意思是一般应用华为不开放这个么 现在解决了没有
现在还是没有解决,暂时用通知栏提醒了
A_YO_乐呀 2016-03-31
  • 打赏
  • 举报
回复
我也和你一样要实现这个功能 也是找到了 github上的那个项目。现在到处找华为手机的解决办法,你在第九楼说的意思是一般应用华为不开放这个么 现在解决了没有
Melody_ssdut 2016-03-25
  • 打赏
  • 举报
回复
引用 13 楼 wk843620202 的回复:
[quote=引用 12 楼 Melody_ssdut 的回复:] [quote=引用 11 楼 wk843620202 的回复:] http://www.tuicool.com/articles/am63ue ,使用badgeView
这个能用在桌面图标上吗???[/quote] 不能[/quote] ok,还是感谢一下
大前端圈 2016-03-25
  • 打赏
  • 举报
回复
可以多交流啊
画虎烂 2016-03-24
  • 打赏
  • 举报
回复
关注
加载更多回复(12)

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧