解决方案:
当前是根据当前问题场景即竖屏强制更改为横屏的需求而做的改动,基本是hardcode定义的状态,总共修改有效代码行数5行,如果后续有其他需求或者需要更灵活的配置横屏和竖屏,可以采用编译开关生成系统属性的方式来控制,在系统中通过属性来判断当前的屏幕状态以达到灵活目的,可以在本次修改的基础上增加条件判断达到目的,具体修改代码如下图中圈红标识。
一、Android Framework Java层的修改:
1、WindowManagerService的默认Rotation修改:

2、PhoneWindowManager的Rotation返回修改:

二、Android Framework Native(C/C++)层的修改:
1、SurfaceFlinger的DispalyDevice中默认orientation的修改:

默认frame rect的宽高交换修改:

2、bootanimation中申请的surface frame buffer的宽高交换修改:

问题背景:
1、当前设备是基于Android4.4.2KK
2、将之前的横屏更换成功了竖屏
3、更换屏幕后无法达到预期的横屏效果,包括开机动画、屏幕横竖切换动画、锁屏界面等。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。