[RK3568 Android11] 开发之可动态设置屏幕旋转(一)

本文介绍了如何在RK3568设备上使用Android11开发动态设置屏幕旋转功能。通过vendor storage分区保存旋转参数,确保系统恢复出厂设置或升级后数据不丢失。涉及内容包括vendor storage驱动读写、RKDevInfoWriteTool工具的使用,以及开机时自动设置系统显示方向。此外,还提到了添加Android设置APP内的屏幕旋转选项和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总目录链接:[RK3568 Android11] 本专栏说明和总目录

目录

前言

一、了解vendor storage分区

二、vendor storage分区驱动读写函数

三、编写底层读写驱动

四、开机读取旋转参数并设置系统显示方向

五、RKDevInfoWriteTool工具设置屏幕旋转参数(此方式适合量产时使用)

六、Android设置APP里添加屏幕旋转功能

七、注意事项


前言

        Android系统在没有重力传感器的情况下,屏幕显示方向基本上都是固定的;对于有些客户会需求同一个固件能支持多个屏幕显示方向(方向选择为0/90/180/270),以便于项目的维护(不需要出多个不同显示方向的固件);
        设置的屏幕旋转参数保存在RK特有的vendor storage分区里;保存在vendor storage分区有个好处就是,系统恢复出厂设置后,保存的数据不会丢失(或者板子上EEPROM芯片,也可保存在这里);而且重新刷固件也不会造成数据丢失(除非执行了升级工具的擦除功能,才会擦除该分区的内容);而且也能通过RK的RKDevInfoWriteTool工具提前把数据保存进去(免去每台机器都要到Settings应用里操作设置屏幕旋转的麻烦ÿ

### RK3399 Android 10 屏幕旋转问题及解决方案 对于RK3399设备在Android 10系统下的屏幕旋转问题,可以采取多种方法来实现有效的屏幕旋转功能。 #### 修改`build.prop`文件的方法不再适用 在早期版本中,通过修改`build.prop`文件中的`ro.sf.hwrotation=0`属性能够调整屏幕旋转方向。然而,在Android 9.0及以上版本中,这种方法已经失效[^3]。 #### 使用ConfigStore HAL接口 为了适应新的架构变化并实现在Android 10上更改主显示屏的方向,建议采用基于硬件抽象层(HAL)的方式来进行配置。具体来说,可以在`device/rockchip/common/device.mk`文件内找到如下代码片段: ```makefile # ConfigStoreHAL, for HWRotation, set SF_PRIMARY_DISPLAY_ORIENTATION to change it. PRODUCT_PACKAGES += \ android.hardware.configstore@1.1-service ``` 这段代码表明了如何利用`android.hardware.configstore@1.1-service`服务来控制屏幕的初始朝向。因此,如果想要改变默认启动后的屏幕方向,则需确保此服务已正确集成到产品包中,并适当设置相关参数以满足需求。 #### 应用第三方库或官方支持工具 除了上述内置机制外,还可以考虑借助外部资源辅助解决问题。例如,有专门针对Rockchip系列芯片组设计的应用程序和文档资料可供参考。这些材料不仅提供了详细的指导说明,还可能包含了可以直接使用的源码实例或是预编译好的二进制文件,有助于加速开发进度并减少调试时间[^2]。 #### 实现动态屏幕旋转设置 另外值得注意的是,某些情况下用户希望能够实时切换不同的屏幕模式而无需重启设备。此时可借鉴其他平台的成功案例,比如RK3568上的做法是在“设置->显示->高级->屏幕旋转”菜单里加入相应的选项供使用者自行选择所需的旋转角度[^1]。虽然这并非直接适用于RK3399的具体实施细节,但从用户体验的角度出发不失为种值得探索的方向。
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~未来可期~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值