我使用前置摄像头和 min3d 库开发了一个增强现实应用程序。此应用程序在运行 Android 4.0.4 的三星 Galaxy Tab 10,1(第一代)上运行良好
但是在装有 Android 4.1.1 的 ASUS Transformer TF700T 上测试相同的应用程序(仅限横向模式)会返回错误的方向,并且增强的世界不再与相机视图匹配。
以下代码用于获取 min3D 所需的方向向量 target_axis 和 up_axis:
SensorManager.getRotationMatrix(mR, null, mLastAccelerometer, mLastMagnetometer);
SensorManager.getOrientation(mR, mOrientation);
Number3d target_axis = new Number3d( -mR[2], -mR[5], -mR[8] );
Number3d up_axis = new Number3d( mR[1], mR[4], mR[7] );
mLastAccelerometer 和 mLastMagnetometer 从onSensorChanged(SensorEvent event)接收
有人能告诉我上面的代码是否仍然过多地依赖于设备吗?我希望使用 SensorManager 的 gerOrientation 调用这个解决方案应该适用于不同的设备?