由于硬件问题,我们必须将我们开发的Android平板电脑上下180度安装。我们设法翻转屏幕回来做以下修改,以正确的方向:Android屏幕旋转前180度旋转以正确定向
“框架/基/服务/ SurfaceFlinger的/ SurfaceFlinger.cpp”
无效GraphicPlane :: setDisplayHardware(DisplayHardware * HW) 。 。 displayOrientation = ISurfaceComposer :: eOrientation90; 休息; + case 180: + displayOrientation = ISurfaceComposer :: eOrientation180; // cdh + break; 情况270: displayOrientation = ISurfaceComposer :: eOrientation270; 休息;
“系统/核心/ ROOTDIR/init.rc”
# Set this property so surfaceflinger is not started by system_init
setprop system_init.startsurfaceflinger 0
+#cdh
+ setprop ro.sf.hwrotation 180
class_start core
class_start main
一切看起来不错,但不知何故,屏幕将显示旋转过程中的正确方向前翻转180度。该平板电脑使用陀螺仪和加速计传感器在Android ICS上运行。
我试着从“frameworks/base/core/jave/android/view/WindowOrientationListener.java”检查Window Orientation Listener日志,并确保旋转过程中的方向是正确的。
我对传感器轴方向做了一些改变(在传感器驱动器上),但不知怎的,这并没有帮助。任何可以帮助解决这个问题的建议?
欣赏所有评论。
感谢, MM