当前位置: 首页 > article >正文

Android13默认开启电池百分比数字显示Framework

有个小需求,需要实现。

查了很多平台,就是没有Android13的。

通过查阅Framework代码。终于找到了如何默认显示。

QSSI.13/frameworks/base/packages/SystemUI/src/com/android/systemui/battery/BatteryMeterView.java 

 void updateShowPercent() {
        final boolean showing = mBatteryPercentView != null;
        // TODO(b/140051051)
        final boolean systemSetting = 0 != whitelistIpcs(() -> Settings.System
                .getIntForUser(getContext().getContentResolver(),
                        SHOW_BATTERY_PERCENT, 1, UserHandle.USER_CURRENT)); //修改 0 为不显示数字, 1 为显示数字。
        boolean shouldShow = (mShowPercentAvailable && systemSetting && mShowPercentMode != MODE_OFF)
                || mShowPercentMode == MODE_ON
                || mShowPercentMode == MODE_ESTIMATE;
        shouldShow = shouldShow && !mBatteryStateUnknown;

        if (shouldShow) {
            if (!showing) {
                mBatteryPercentView = loadPercentView();
                if (mPercentageStyleId != 0) { // Only set if specified as attribute
                    mBatteryPercentView.setTextAppearance(mPercentageStyleId);
                }
                if (mTextColor != 0)
                    mBatteryPercentView.setTextColor(mTextColor);
                updatePercentText();
                addView(mBatteryPercentView,
                        new ViewGroup.LayoutParams(
                                LayoutParams.WRAP_CONTENT,
                                LayoutParams.MATCH_PARENT));
            }
        } else {
            if (showing) {
                removeView(mBatteryPercentView);
                mBatteryPercentView = null;
            }
        }
    }

QSSI.13/packages/apps/Settings/src/com/android/settings/display/BatteryPercentagePreferenceController.java

  @Override
    public void updateState(Preference preference) {
        int setting = Settings.System.getInt(mContext.getContentResolver(),
                SHOW_BATTERY_PERCENT, 1);  // 0 为不显示数字, 1为显示数字

        ((SwitchPreference) preference).setChecked(setting == 1);
    }

修改2个地方,一个是Setting,一个是SystemUI显示。

通过,0,1 的切换,可以修改默认显示电池数字百分比,或不显示电池数字百分比的效果。


http://www.kler.cn/a/299020.html

相关文章:

  • Redis常见阻塞原因总结
  • 前端导出PDF的组件及方法
  • 「Mac畅玩鸿蒙与硬件46」UI互动应用篇23 - 自定义天气预报组件
  • [ESP]从零开始的Arduino IDE安装与ESP环境配置教程
  • 时空信息平台架构搭建:基于netty封装TCP通讯模块(IdleStateHandler网络连接监测,处理假死)
  • RabbitMQ 路由(Routing)通讯方式详解
  • 项目答辩总结
  • NISP 一级 | 3.3 网络安全防护与实践
  • 取指操作流程
  • JavaWeb案例-登录认证
  • 【MRI基础】回波序列长度-echo train length ETL概念
  • 基于python+大数据爬虫技术+数据可视化+Spark的电力能耗数据分析与可视化平台设计与实现
  • UnLua调用蓝图变量、动画、函数
  • CSP-J 算法基础 排序算法的基本概念
  • 【Rust练习】12.枚举
  • SLM561A​​系列 60V 10mA到50mA线性恒流LED驱动芯片 为智能家居照明注入新活力
  • 【C-实践】文件服务器(1.0)
  • 如何识别和防范跨站请求伪造(CSRF)?
  • 动手学深度学习(pytorch)学习记录27-深度卷积神经网络(AlexNet)[学习记录]
  • 智能指针怎么就智能了?
  • 【Qt网络编程基础】Tcp服务器和客户端(只支持一对一)
  • MybatisPlus的学习
  • 通过脚本监控MySQL是否正常启动
  • AI基础 L17 Logic Agents II
  • Git 的使用以及vscode 下git 的使用(一)
  • Java基础 2. Java基础语法