Android15 RK3588 修改默认不锁屏不休眠

对于非手机设备,有时候用户需要不锁屏不休眠,源码修改方式如下:

1.在frameworks\base\packages\SettingsProvider\res\values\defaults.xml里面

<bool name="def_lockscreen_disabled">true</bool>

<integer name="def_screen_off_timeout">2147483647</integer>

<integer name="def_sleep_timeout">-1</integer>

2.在frameworks\base\core\res\res\values\config.xml里面

<bool name="config_disableLockscreenByDefault">true</bool>

修改了这几个属性值后,系统开机后一般就不会进入锁屏和灭屏状态了。

注意:一般在RK的源码里面,通常会有overlay方式,有些时候修改了frameworks里面的def_screen_off_timeout值发现没有作用,所以需要修改overlay里面的配置,一般overlay路径如下:

device\rockchip\common\overlay\frameworks\base\packages\SettingsProvider\res\values\defaults.xml

device\rockchip\common\overlay_screenoff\frameworks\base\packages\SettingsProvider\res\values\defaults.xml

device\rockchip\rk35xx\overlay\frameworks\base\packages\SettingsProvider\res\values\defaults.xml

需要修改这里面的overlay配置这样修改就会生效了。

3.最暴力的方式修改:

直接修改frameworks\base\services\core\java\com\android\server\power\PowerManagerService.java

把系统休眠直接给禁止掉,这种情况适用于不带电池的设备,且自定义了launcher,不希望进入系统锁屏界面。修改如下:

在void readConfigurationLocked()方法里面:

java 复制代码
 // mMinimumScreenOffTimeoutConfig = resources.getInteger(
        //         com.android.internal.R.integer.config_minimumScreenOffTimeout);
        
        mMinimumScreenOffTimeoutConfig = 2147483600L;

直接把mMinimumScreenOffTimeoutConfig修改为最大,在goToSleepInternal方法里面直接return掉休眠功能:

java 复制代码
private void goToSleepInternal(IntArray groupIds, long eventTime, int reason, int flags) {

        boolean isExit = true;
        if(isExit)
            return;

        final long now = mClock.uptimeMillis();
        if (eventTime > now) {
            Slog.e(TAG, "Event time " + eventTime + " cannot be newer than " + now);
            throw new IllegalArgumentException("event time must not be in the future");
        }

        mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER,
                /* message= */ null);

        boolean isNoDoze = (flags & PowerManager.GO_TO_SLEEP_FLAG_NO_DOZE) != 0;
        int uid = Binder.getCallingUid();
        final long ident = Binder.clearCallingIdentity();
        try {
            synchronized (mLock) {
                for (int i = 0; i < groupIds.size(); i++) {
                    int groupId = groupIds.get(i);
                    PowerGroup powerGroup = mPowerGroups.get(groupId);
                    if (powerGroup == null) {
                        throw new IllegalArgumentException("power group(" + groupId
                                + ") doesn't exist");
                    }
                    if ((flags & PowerManager.GO_TO_SLEEP_FLAG_SOFT_SLEEP) != 0) {
                        if (mFoldGracePeriodProvider.isEnabled()) {
                            if (!powerGroup.hasWakeLockKeepingScreenOnLocked()) {
                                mNotifier.showDismissibleKeyguard();
                            }
                            continue; // never actually goes to sleep for SOFT_SLEEP
                        } else {
                            if (powerGroup.hasWakeLockKeepingScreenOnLocked()) {
                                continue;
                            }
                        }
                    }
                    if (isNoDoze) {
                        sleepPowerGroupLocked(powerGroup, eventTime, reason, uid);
                    } else {
                        dozePowerGroupLocked(powerGroup, eventTime, reason, uid);
                    }
                }
            }
        } finally {
            Binder.restoreCallingIdentity(ident);
        }
    }

变成永不休眠了,因为在Android15上面自定义launcher后容易出现进入系统锁屏屏保界面。

相关推荐
u0104058362 分钟前
Java中的服务监控:Prometheus与Grafana的集成
java·grafana·prometheus
编程之路从0到12 分钟前
React Native新架构之Android端初始化源码分析
android·react native·源码阅读
行稳方能走远4 分钟前
Android java 学习笔记2
android·java
yaoxin5211236 分钟前
286. Java Stream API - 使用Stream.iterate(...)创建流
java·开发语言
qq_12498707538 分钟前
基于springboot的鸣珮乐器销售网站的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·spring·毕业设计·计算机毕业设计
海南java第二人9 分钟前
SpringBoot核心注解@SpringBootApplication深度解析:启动类的秘密
java·spring boot·后端
win x13 分钟前
Redis集群
java·数据库·redis
r_oo_ki_e_14 分钟前
java23--异常
java·开发语言
qq_124987075324 分钟前
基于Spring Boot的“味蕾探索”线上零食购物平台的设计与实现(源码+论文+部署+安装)
java·前端·数据库·spring boot·后端·小程序