Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 手机可以';找不到传感器类型为线性加速度的传感器_Android_Accelerometer_Android Sensors - Fatal编程技术网

Android 手机可以';找不到传感器类型为线性加速度的传感器

Android 手机可以';找不到传感器类型为线性加速度的传感器,android,accelerometer,android-sensors,Android,Accelerometer,Android Sensors,我正在尝试在我的android应用程序上使用线性加速度融合传感器。但是,它找不到sensor.TYPE_LINEAR_加速度的传感器 我执行以下调用: mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); mLinearAcceleration =

我正在尝试在我的android应用程序上使用线性加速度融合传感器。但是,它找不到sensor.TYPE_LINEAR_加速度的传感器

我执行以下调用:

mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mLinearAcceleration = mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);
在上述步骤之后,定义了mAccelerometer,但加速度为空。我知道直到API第9级才添加了TYPE_LINEAR_加速度,但我认为我至少运行在API第9级。以下是我的清单文件的一个片段:

<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="17" />

这些都不是线性加速度,还有一个是方位,一个不推荐使用的传感器。看起来我的传感器工作起来就像是在API 9级之前,但我不知道为什么会这样。我的项目中是否有一些字段可能会迫使应用程序充当旧API?(AndroidManifest.xml文件中支持的最低API字段除外,该字段已设置为9)

将其放入清单中

<uses-permission android:name=”android.permission.SET_ORIENTATION” />
这是:

 /* do this in onCreate */
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mSensorManager.registerListener(mSensorListener, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
mAccel = 0.00f;
mAccelCurrent = SensorManager.GRAVITY_EARTH;
mAccelLast = SensorManager.GRAVITY_EARTH;

把这个放在你的舱单上

<uses-permission android:name=”android.permission.SET_ORIENTATION” />
这是:

 /* do this in onCreate */
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mSensorManager.registerListener(mSensorListener, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
mAccel = 0.00f;
mAccelCurrent = SensorManager.GRAVITY_EARTH;
mAccelLast = SensorManager.GRAVITY_EARTH;

您的手机没有安装传感器类型的线性加速度传感器您的手机没有安装传感器类型的线性加速度传感器这只是使用加速计隔离重力的一个解决办法吗?我可以试一试,但我担心的是,当用户移动手机时,重力和他们手上的力会相互干扰。我试着从他们的手上测量力量。但我会尝试这种方法。没有办法让它识别传感器。类型\线性\加速度融合传感器?这只是一个使用加速计隔离重力的解决办法吗?我可以试一试,但我担心的是,当用户移动手机时,重力和他们手上的力会相互干扰。我试着从他们的手上测量力量。但我会尝试这种方法。没有办法让它识别传感器。类型\线性\加速度融合传感器?
 /* do this in onCreate */
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mSensorManager.registerListener(mSensorListener, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
mAccel = 0.00f;
mAccelCurrent = SensorManager.GRAVITY_EARTH;
mAccelLast = SensorManager.GRAVITY_EARTH;