【发布时间】:2013-07-05 09:40:34
【问题描述】:
由于硬件问题,我们必须将我们开发的 Android 平板电脑倒置 180 度安装。通过进行以下更改,我们设法将屏幕翻转回正确的方向:
"frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp"
void GraphicPlane::setDisplayHardware(DisplayHardware *hw) . . displayOrientation = ISurfaceComposer::eOrientation90; 休息; + 案例 180: + displayOrientation = ISurfaceComposer::eOrientation180; //cdh +休息; 案例 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”检查窗口方向监听器日志,并确保旋转期间的方向正确。
我对传感器轴方向进行了一些更改(在传感器驱动程序上),但不知何故没有帮助。有什么建议可以帮助解决这个问题?
感谢所有的cmets。
谢谢, 嗯
【问题讨论】: