基于rk3326的ANDROID11 不息屏不锁屏代码修改

一、背景

         1.硬件平台:RK3326/RK3566

        2、操作系统: ANDROID11

        取消自动息屏及锁屏界面,修改如下:

二、修改文件:

1、frameworks/base/packages/SettingsProvider/res/values/defaults.xml 

diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
old mode 100644
new mode 100755
index 761d8bcbed00..7b10dcd8c533
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -18,7 +18,7 @@
 -->
 <resources>
     <bool name="def_dim_screen">true</bool>
-    <integer name="def_screen_off_timeout">60000</integer>
+    <integer name="def_screen_off_timeout">2147483647</integer>
     <!-- 取消熄屏,设置为一个非常大的数值,超过2147483647 -->
     <integer name="def_sleep_timeout">-1</integer>
     <bool name="def_airplane_mode_on">false</bool>
     <bool name="def_theater_mode_on">false</bool>
@@ -71,7 +71,7 @@
     <string name="def_desk_undock_sound" translatable="false">/product/media/audio/ui/Undock.ogg</string>
     <string name="def_car_dock_sound" translatable="false">/product/media/audio/ui/Dock.ogg</string>
     <string name="def_car_undock_sound" translatable="false">/product/media/audio/ui/Undock.ogg</string>
-    <integer name="def_lockscreen_sounds_enabled">1</integer>
+    <integer name="def_lockscreen_sounds_enabled">0</integer>
     <!-- 当解锁或是锁屏时是否播放声音    Settings.System.LOCKSCREEN_SOUNDS_ENABLED  0:不播放  -->
     <string name="def_lock_sound" translatable="false">/product/media/audio/ui/Lock.ogg</string>
     <string name="def_unlock_sound" translatable="false">/product/media/audio/ui/Unlock.ogg</string>
     <string name="def_trusted_sound" translatable="false">/product/media/audio/ui/Trusted.ogg</string>
@@ -82,7 +82,7 @@
     <integer name="def_max_sound_trigger_detection_service_ops_per_day" translatable="false">1000</integer>
     <integer name="def_sound_trigger_detection_service_op_timeout" translatable="false">15000</integer>

-    <bool name="def_lockscreen_disabled">false</bool>
+    <bool name="def_lockscreen_disabled">true</bool>
     <!-- 默认锁屏已禁用 -->
     <bool name="def_device_provisioned">false</bool>
     <integer name="def_dock_audio_media_enabled">1</integer>

2、device\rockchip\rk3326\overlay\frameworks\base\packages\SettingsProvider\res\values\defaults.xml

-    <integer name="def_screen_off_timeout">60000</integer>
+    <integer name="def_screen_off_timeout">2147483647</integer>
<!-- 修改,或者直接删除这一行配置 -->

3、

前面2个修改,验证无效果;搜索def_screen_off_timeout发现

./device/rockchip/common/overlay_go/frameworks/base/packages/SettingsProvider/res/values/defaults.xml 

文件也有此配置

--- a/overlay_go/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/overlay_go/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -17,7 +17,7 @@
  */
 -->
 <resources>
-    <integer name="def_screen_off_timeout">60000</integer>
+    <integer name="def_screen_off_timeout">0x7fffffff</integer>
    <!-- Initial value for the Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS setting,
          which is a comma separated list of packages that no longer need confirmation
          for immersive mode.

原来./device/rockchip/common/device.mk 有配置overlay_go

DEVICE_PACKAGE_OVERLAYS += device/rockchip/common/overlay_go

4.

device/rockchip/common/device.mk

--- a/device.mk
+++ b/device.mk

 PRODUCT_PROPERTY_OVERRIDES += \
     dalvik.vm.boot-dex2oat-threads=4 \
@@ -902,7 +895,7 @@ ifeq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)), box)
       ro.rk.screenoff_time=2147483647
 else
 PRODUCT_PROPERTY_OVERRIDES += \
-    ro.rk.screenoff_time=60000
+       ro.rk.screenoff_time=2147483647
 endif

至此修改完所有screen_off_timeout 相关数据,打包验证有效!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
下面是一个简单的代码案例,用于修改rk3326的DDR驱动强度: ```c #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <sys/mman.h> #define DDR_PHY_REG0 0x101c0000 #define DDR_PHY_REG1 0x101c0004 #define DDR_PHY_REG2 0x101c0008 #define DDR_DRV_STRENGTH_BIT 0x3 int main() { int fd; void *ddr_phy_reg; unsigned int reg_value; // 打开DDR控制器寄存器 fd = open("/dev/mem", O_RDWR | O_SYNC); if (fd < 0) { printf("Failed to open /dev/mem\n"); return -1; } // 映射DDR PHY寄存器 ddr_phy_reg = mmap(NULL, 0x10000, PROT_READ | PROT_WRITE, MAP_SHARED, fd, DDR_PHY_REG0); if (ddr_phy_reg == MAP_FAILED) { printf("Failed to mmap DDR PHY register\n"); close(fd); return -1; } // 读取DDR PHY寄存器1的值 reg_value = *(volatile unsigned int*)(ddr_phy_reg + DDR_PHY_REG1); printf("Original DDR PHY register1 value: 0x%08x\n", reg_value); // 修改DDR驱动强度 reg_value &= ~(DDR_DRV_STRENGTH_BIT << 16); // 清除控制位 reg_value |= (0x2 << 16); // 设置控制位,驱动强度为2 *(volatile unsigned int*)(ddr_phy_reg + DDR_PHY_REG1) = reg_value; // 写入修改后的值 // 读取DDR PHY寄存器1的值 reg_value = *(volatile unsigned int*)(ddr_phy_reg + DDR_PHY_REG1); printf("Modified DDR PHY register1 value: 0x%08x\n", reg_value); // 解除映射 munmap(ddr_phy_reg, 0x10000); close(fd); return 0; } ``` 该代码使用mmap()函数将DDR PHY寄存器映射到内存中,并通过指针访问寄存器中的值。修改驱动强度时,先读取寄存器的值,然后通过位运算修改控制位的值,最后将修改后的值写入到寄存器中。该代码只是一个简单的示例,实际使用时需要根据rk3326的技术手册进行修改,同时注意对硬件进行保护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值