通过跟踪代码发现,最终决定屏幕是否可以旋转控制代码逻辑如下:
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationShadeWindowController.javaprivate boolean shouldEnableKeyguardScreenRotation() { Resources res = mContext.getResources(); return SystemProperties.getBoolean("lockscreen.rot_override", false) || res.getBoolean(R.bool.config_enableLockScreenRotation);}从shouldEnableKeyguardScreenRotation可以看到只需返回true锁屏界面就可以旋转了。
因此,实现锁屏界面旋转有如下方法:
方法1: 在配置文件中将config_enableLockScreenRotation配置为true;
frameworks/base/core/res/res/values/config.xml
方法2: 把"lockscreen.rot_override"系统属性设置为true
build/make/tools/buildinfo.sh
添加echo "lockscreen.rot_override = true"
方法3: 修改代码让shouldEnableKeyguardScreenRotation方法直接返回true
建议使用方法1或方法3来修改。
| 留言与评论(共有 0 条评论) “” |