Launcher默认没有开启通知使用权

日历应用无角标提醒

问题现象

    刷机完成之后,所有应用均无角标显示

过程分析

  1. 观察现象发现是Launcher的通知使用权默认关闭导致所有应用的角标均无法出现
  2. 通过settings代码得知获取通知使用权的代码是由Settings .Secure数据库中的ENABLED_NOTIFICATION_LISTENERS来获取判断的,如果打开,这个key将把对应的应用包名记录其中,如下图

  3. 但是我们想做的一开始将Launcher的包名记录在默认配置中,而不是在调起Launcher后配置,也不想在每次初始化时都配置一次

解决方式

    根据查看源码NotificationMangerService#NotificationListeners#loadDefaultsFromConfig(),发现通知使用权的默认配置是在defaultlisteneraccessPackages的xml中,在这个key里添加launcher包名,解决。

测试用例

  Case 1:

  1. 刷机后查看launcher的默认通知使用权是否开启
  2. 设置一个日历的日程,到时间后查看是否有角标提醒

  预期结果:

  1. Launcher默认通知使用权打开
  2. 日历有角标

  实际结果

  1. 与预期结果一致
  2. 与预期结果一致

回溯:

  1. 要增加对代码的熟悉度,尤其是NMS,PMS这些常用api
  2. 嗯,好好加油,多总结多记录
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值