无法在Galaxy Tab 10上观看陀螺仪

时间:2013-05-04 07:24:29

标签: android sensor android-sensors sensormanager

我在S3上安装了AndroSensor。我可以查看所有传感器。 当我在Galaxy Tab 10上安装此软件时,我无法查看陀螺仪传感器数据。 我正在开展一个需要访问陀螺仪和加速度计的项目。

两部手机都有陀螺仪 -

  • 在S3中我们有:LSM330DLC
  • 在Galaxy Tab中我们有:MPU 3050

手机的Android版本是:

  • S3:Android OS,v4.1
  • Galaxy Tab:Android OS,v4.0.3

因为Android版本,软件无效吗?或者因为来自传感器的数据不同?

为什么软件没有在两部手机上都检测到陀螺仪?

1 个答案:

答案 0 :(得分:3)

我建议编写一些代码来查询Android的SensorManager对象。例如,尝试以下

SensorManager sm = (SensorManager)getSystemService(android.content.Context.SENSOR_SERVICE);
List<Sensor> sensorlist = sm.getSensorList(Sensor.TYPE_ALL);
for(Sensor sens : sensorlist) {
    Log.d("TEST", "Name="+sens.getName()+",Type="+sens.getType());
}
Sensor SensorGyro = sm.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
Log.d("TEST", (SensorGyro == null ? "SensorGyro==null":"Name="+SensorGyro.getName()+",Type="+SensorGyro.getType()));

并使用输出来帮助解决出错的问题。我在Galaxy note 2上运行了它,它产生了:

05-07 14:42:38.585: D/TEST(6160): Name=LSM330DLC Acceleration Sensor,Type=1
05-07 14:42:38.585: D/TEST(6160): Name=AK8963C Magnetic field Sensor,Type=2
05-07 14:42:38.585: D/TEST(6160): Name=LSM330DLC Gyroscope Sensor,Type=4
05-07 14:42:38.585: D/TEST(6160): Name=BMP182 Barometer Sensor,Type=6
05-07 14:42:38.585: D/TEST(6160): Name=CM36651 Proximity Sensor,Type=8
05-07 14:42:38.585: D/TEST(6160): Name=CM36651 Light Sensor,Type=5
05-07 14:42:38.585: D/TEST(6160): Name=Rotation Vector Sensor,Type=11
05-07 14:42:38.585: D/TEST(6160): Name=Gravity Sensor,Type=9
05-07 14:42:38.585: D/TEST(6160): Name=Linear Acceleration Sensor,Type=10
05-07 14:42:38.585: D/TEST(6160): Name=Orientation Sensor,Type=3
05-07 14:42:38.585: D/TEST(6160): Name=Corrected Gyroscope Sensor,Type=4
05-07 14:42:38.585: D/TEST(6160): Name=LSM330DLC Gyroscope Sensor,Type=4

所以手机上似乎有两个Gysoscope传感器。