T527Android13关机时黑屏无提示问题

前言

T527Android13按power按键关机时,屏幕会黑掉没有关机的提示,这样很不友好!于是查找原因。

分析

根据关机的log,找到关机的时候会调用frameworks/base/services/core/java/com/android/server/power/ShutdownThread.java里面的beginShutdownSequence函数。

查看一下这个函数发现如下代码:

java 复制代码
        /// AW CODE:[feat]:shut down screen directly
        final boolean shutdownForceScreenOff = context.getResources().getBoolean(
                com.android.internal.R.bool.config_shutdownForceScreenOff);
        final boolean showShutdownAnimation = SystemProperties.getBoolean("ro.init.shutdown_animation", false);
        if (shutdownForceScreenOff && !showShutdownAnimation) {
            sInstance.mPowerManager.goToSleep(SystemClock.uptimeMillis(),
                    PowerManager.GO_TO_SLEEP_REASON_POWER_BUTTON, 0);
        }

        //support unattended update for ota
        Log.i(TAG, "beginShutdownSequence reason=" + mReason);
        if(mReason != null && mReason.toLowerCase().contains("unattend") && mReason.toLowerCase().contains("ota")) {
           SystemProperties.set("persist.sys.unattended_update", "true");
        }

        /// AW add end

从上面看到原来AW原厂在原生代码基础上做了修改,关机的时候会去让机器sleep关屏!于是把判断条件com.android.internal.R.bool.config_shutdownForceScreenOff(位于device目录下的overlay/overlay/frameworks/base/core/res/res/values/config.xml)的值改成false。编译升级后就可以看到关机的提示了。

相关推荐
Android系统攻城狮10 小时前
Linux Gstreamer深度解析之gst_audio_encoder_set_frame_max调用流程与实战(六十一)
android·linux·运维·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
传奇开心果编程13 小时前
【Compose Multiplatform 跨端开发学与练】第7课 平台适配与互操作
android·windows·学习·ui·ios·kotlin·composer
mmsx13 小时前
Android 地图数据链路:从 GDAL、KML 到多引擎适配
android·kotlin
2601_9689007714 小时前
大模型版本回归评估实战:从能力指标到额度口径的完整链路
android·数据挖掘·回归
ao-weilai16 小时前
MySQL数据库:基本查询
android·数据库·mysql
事圆则缓17 小时前
Kotlin 泛型方差实战:out、in、星投影与类型擦除
android·开发语言·kotlin
传奇开心果编程18 小时前
【Compose Multiplatform 跨端开发学与练】第5课 网络与数据层
android·网络·学习·ui·ios·kotlin·composer
ao-weilai19 小时前
MySQL数据库:内置函数
android·数据库·mysql
SWAGGY..20 小时前
【C++进阶】:(7)红黑树的原理与 C++ 实现:结构设计、插入调整及性质验证
android·java·开发语言·c++·算法
Android打工仔20 小时前
CoroutineScheduler 设计解析(上)—— 为什么 Dispatchers.IO 会创建更多线程?
android·kotlin·源码阅读