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后容易出现进入系统锁屏屏保界面。

相关推荐
百锦再4 分钟前
React编程高级主题:测试代码
android·前端·javascript·react.js·前端框架·reactjs
JH307340 分钟前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
2501_916008891 小时前
全面介绍Fiddler、Wireshark、HttpWatch、SmartSniff和firebug抓包工具功能与使用
android·ios·小程序·https·uni-app·iphone·webview
Coder_Boy_2 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
玉梅小洋2 小时前
Windows 10 Android 构建配置指南
android·windows
invicinble2 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
较真的菜鸟2 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖2 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
Libraeking4 小时前
视觉篇:Canvas 自定义绘图与高级动画的华丽圆舞曲
android·经验分享·android jetpack
qq_12498707534 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计