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

日历应用无角标提醒,原因是Launcher的通知使用权默认关闭。解决方式是通过修改defaultlisteneraccessPackages的XML,添加Launcher包名以确保默认开启。测试用例验证了改动后,Launcher通知使用权打开,日历提醒角标正常显示。
摘要由CSDN通过智能技术生成

日历应用无角标提醒

问题现象

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

过程分析

  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. 设置一个日历的日程,到时间后查看是否有
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值