解决Android高版本状态栏通知图标白底问题

本文主要介绍了在修改Android系统源码时遇到的通知图标显示白底的问题及其解决方案。通过修改vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java和frameworks/base/core/java/android/app/Notification.java两处代码,禁止系统对图标进行着色,从而达到预期的显示效果。参考链接提供了解决此问题的具体步骤和代码修改细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近临时转换角色修改Android系统源码,没有搞过一看源码一脸懵逼,代码太多了,关键是无法跟studio一样直接进行代码调转,折腾了一天才找到这个问题要修改的地方,其实就是Google为了规范统一和不给使用者再擦屁股,不在系统来处理图标不统一或者缺失问题,当遇到这情况是直接这是白底处理,Google是省事了,但是开发者们可就苦了,且一个白底给用户很不友好;最终参考Android N状态栏图标白底问题 - 简书 (jianshu.com) icon-default.png?t=L892https://www.jianshu.com/p/2045693abef4

 这篇文章解决我我的问题。

 1、 修改的位置:vendor\mediatek\proprietary\packages\apps\SystemUI\src\com\android\systemui\statusbar\phone\NotificationIconAreaController.java

修改:不允许系统进行着色

if (!colorize) {
      color = DarkIconDispatcher.getTint(mTintArea, v, tint);
    }

2、修改位置:frameworks\base\core\java\android\app\Notification.java

修改: if (isColorized(p)) {
                color = getPrimaryTextColor(p);
            } else {
                color = resolveContrastColor(p);
            }
            // 2021-9-27 add start
            color = resolveContrastColor(p);
             // 2021-9-27 add end

OK,问题就这么愉快的解决了。理想中的通知图标显示出来了。

                                                                    解决前图:

 

解决后图:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

panyingdao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值