我正在尝试为Android应用程序制作方向传感器,但我的代码似乎仍然不起作用。我在Android应用程序网站上寻求帮助,但仍无法获得任何结果。我的代码不会产生错误,它只是不显示/收集结果。
if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {
//Orientation sensor
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
mGravity = event.values;
if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD)
mGeomagnetic = event.values;
if (mGravity != null && mGeomagnetic != null) {
float R[] = new float[9];
float I[] = new float[9];
boolean success = SensorManager.getRotationMatrix(R, I, mGravity, mGeomagnetic);
if (success) {
float orientation2[] = new float[3];
SensorManager.getOrientation(R, orientation2);
String orientationText = "Orientation: \n -Z: " + df.format(orientation2[0]) +"\n-X: " + df.format(orientation2[1]) + "\nY: " + df.format(orientation2[2]);
orientation.setText(orientationText);
Log.d(TAG, "Gyroscope:" + orientation2[0] + "," + orientation2[1] + "," + orientation2[2]);
MagnetometerData mData = new MagnetometerData( orientation2[0], orientation2[1], orientation2[2]) ;
instance.addMagnetometerData( mData );
}
}