微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android AOSP锁定屏幕旋转

如何解决Android AOSP锁定屏幕旋转

我正在构建在Android(9)上运行的设备,该设备通常以横向模式与显示器一起使用。我已经找到了一种方法来将主屏幕设置为横向,以及将设备随附的自定义应用程序修复为横向,但是我还没有找到一种方法来针对锁定屏幕(也称为Keyguard)。这有可能吗?

注意:我确实有完整的AOSP源代码可用于编辑和构建,我只是不知道在哪里进行所需的更改。 frameworks / base / packages / Keyguard的AndroidManifest.xml令人惊讶地为空。

解决方法

为此,您必须在设备的make文件和软件包中进行一些更改。 首先:将其添加到您的主设备制作文件中,然后删除android.hardware.screen.portrait.xml包。

PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.screen.landscape.xml:system/etc/permissions/android.hardware.screen.landscape.xml \

第二个:创建覆盖config.xml文件。它应位于目标目录的覆盖目录中(设备/ {您的设备供应商} / {您的设备模型} / overlay / framework / base / res / res / values)。然后添加此配置 文件(config.xml)

<resources>
    <bool name="config_forceDefaultOrientation">true</bool>
</resources>

注意:这种方式适用于android 9和所有较旧的版本,还有另一种方式适用于android 10及更早版本。

注意:请确保在您的make文件中定义了覆盖目录路径,以便系统使用您的覆盖。

PRODUCT_PACKAGE_OVERLAYS += device/{vendor-of-you-device}/{model-of-your-device}/overlay

注意:您必须在目标路径(设备/ {您的设备的供应商} / {您的设备的型号} /覆盖)中提供框架覆盖,以更改显示方向或任何其他框架属性并且不更改android内部框架配置,因为它不安全或不建议这样做。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。