文章主题

看到有很多小伙伴在问如何去掉OH4.1R的开机锁屏,直接进入OH系统桌面,这里分享一下个人的调试经验。

1.锁屏去除原理

OH4.1release的锁屏是用一个hap应用的方式实现的,在源码的目录中是"rk3568_ohos_v4.1/applications/standard/hap/SystemUI-ScreenLock.hap"

因此可以把锁屏应用从系统编译中去除;

2.去除锁屏的方法

1.在applications/standard/hap/BUILD.gn文件中去除锁屏应用相关的代码;

-ohos_prebuilt_etc("screenLock_hap") {
-  source = "SystemUI-ScreenLock.hap"
-  module_install_dir = "app/com.ohos.systemui"
-  part_name = "prebuilt_hap"
-  subsystem_name = "applications"
-}

-    "//applications/standard/hap:screenLock_hap",

2.去除开机时对锁屏应用状态的检测,在foundation/systemabilitymgr/safwk/etc/profile/foundation.cfg文件中

-                "bootevent.lockscreen.ready"

3.去除窗口控制器对锁屏信号的响应;因为这里我们只是去掉了锁屏应用,但触发锁屏的机制还在,比如说按键触发和遥控器触发,只是没有实际的响应,如果不去掉,当再触发进入锁屏的机制,可能会出现应用界面冻结;

在foundation/window/window_manager/wmserver/src/window_controller.cpp文件

case DisplayStateChangeType::BEFORE_SUSPEND: {

-            isScreenLocked_ = true;
-            windowRoot_->ProcessWindowStateChange(WindowState::STATE_FROZEN, WindowStateChangeReason::KEYGUARD);

对源码做如上修改即可去除锁屏,直接进入桌面;我使用YS-F3568开发板成功去除,系统正常运行,感兴趣的小伙伴可以动手试试。

如遇问题可以在评论区回复,我们一起交流学习;

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐