Question about the rotation of X axis on Android(关于Android上X轴旋转的问题)
本文介绍了关于Android上X轴旋转的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想用Android传感器检测绕X轴的正确旋转。在谷歌上搜索后,我找到了这个代码:
public void onSensorChanged(SensorEvent event) {
Sensor sensor = event.sensor;
switch(sensor.getType()) {
case Sensor.TYPE_ACCELEROMETER:
mAcc = event.values.clone();
break;
case Sensor.TYPE_MAGNETIC_FIELD:
mMag = event.values.clone();
break;
}
if (mAcc == null || mMag == null) return;
float R[] = new float[9];
if (SensorManager.getRotationMatrix(R, null, mAcc, mMag)) {
SensorManager.getOrientation(R, mOrientation);
}
}
MOrientation[1]表示围绕X轴的弧度。然而,这个值非常奇怪。
- 当手机平放在桌子上时,它是0。
- 当手机头指向地面时,它是Pi/2。
- 当手机底部朝上平放在桌子上时,它又是0。
- 当手机机头指向天空时,它-Pi/2。
介于%1、%2之间的状态与介于%2、%3之间的状态具有相同的旋转值。我如何判断我的电话处于哪种状态?
推荐答案
请验证您的读数。
您报告的符号和范围与
完全不同步
Android设备的预期功能。
developer.android.com/reference/android/hardware/Sensor.html#TYPE_ORIENTATION
注意:此传感器类型是由于旧版原因而存在的,请将getRotationMatrix()与remapAssociateSystem()和getOrientation()结合使用来计算这些值。
问候
CVS@2600赫兹
这篇关于关于Android上X轴旋转的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:关于Android上X轴旋转的问题
基础教程推荐
猜你喜欢
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01