Android 使用传感器-加速计时出现问题
我有一个Galaxy Tab 1000 我正试图写一个代码,可以识别任何运动 我有2.2版的手机 这是oncreate代码Android 使用传感器-加速计时出现问题,android,sensors,android-sensors,Android,Sensors,Android Sensors,我有一个Galaxy Tab 1000 我正试图写一个代码,可以识别任何运动 我有2.2版的手机 这是oncreate代码 OnCreate() mySensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); mySensorManager.registerListener(mySensorEventListener, mySensorManager
OnCreate()
mySensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mySensorManager.registerListener(mySensorEventListener, mySensorManager
.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_NORMAL); //
这是sensor onsensorchanged实现(我认为非常简单),但不起作用
if (event.sensor.getType() == SensorManager.SENSOR_ACCELEROMETER) // Do WORK
event.sensor.getType()返回1
如果我这样做:getSensorList(Sensor.TYPE_ALL);
我有传感器罗盘,罗盘,BMA150(加速度),温度,磁铁,接近,灯光和陀螺仪
(奇怪-我以为它只在3.0版本中出现)
请告知,如何在手机上获取运动检测
谢谢
我有点搞不清楚你到底想做什么,但从我所做的,你想在你的onSensorChanged中得到加速度数据。您的oncreate看起来不错,但是您可以通过检查registerListener返回的bool来检查他们是否正确注册了侦听器。下面是我在侦听事件并检索返回的值时所做的操作
@Override
public void onSensorChanged(SensorEvent event)
{
// If the sensor data is unreliable return
if (event.accuracy == SensorManager.SENSOR_STATUS_UNRELIABLE)
{
//Toast.makeText(main.this, "Sensor Status Unreliable",Toast.LENGTH_SHORT).show();
return;
}
// Gets the value of the sensor that has been changed
switch (event.sensor.getType())
{
case Sensor.TYPE_ACCELEROMETER:
m_vAccel = event.values.clone();
break;
}
另外,您也可以使用与加速计相同的线性加速度传感器
重力 BMA150(加速)不是你想要的吗?加速计是“运动检测”,你是对的。我设法用这些传感器使它工作。