我在S3上安装了AndroSensor。我可以查看所有传感器。 当我在Galaxy Tab 10上安装此软件时,我无法查看陀螺仪传感器数据。 我正在开展一个需要访问陀螺仪和加速度计的项目。
两部手机都有陀螺仪 -
手机的Android版本是:
因为Android版本,软件无效吗?或者因为来自传感器的数据不同?
为什么软件没有在两部手机上都检测到陀螺仪?
答案 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传感器。