OH4.1R 去除开机锁屏应用
文章主题 看到有很多小伙伴在问如何去掉OH4.1R的开机锁屏,直接进入OH系统桌面,这里分享一下个人的调试经验。 1.锁屏去除原理 OH4.1release的锁屏是用一个hap应用的方式实现的,在源码的目录中是"rk3568_ohos_v4.1/applications/standard/hap/SystemUI-ScreenLock.hap" 因此可以把锁屏应用从系统编译中去
文章主题
看到有很多小伙伴在问如何去掉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开发板成功去除,系统正常运行,感兴趣的小伙伴可以动手试试。
如遇问题可以在评论区回复,我们一起交流学习;
更多推荐
所有评论(0)