Я проверил документ здесь: http://developer.android.com/guide/topics/manifest/uses-feature-element.html
и нашел 2 наиболее важные функции:
1) android.hardware.sensor.accelerometer
2)android.hardware.sensor.compass
Какой из них мне нужно указать в моем манифесте?Или оба?
Да, я уверен, что использую акселерометр.Но значения акселерометра и магнитного поля также используются для вычисления «направления» (что также означает, что я использую android.hardware.sensor.compass ??)
Вот мой код:
@Override
public void onSensorChanged(SensorEvent event) {
int type = event.sensor.getType();
switch (type) {
case Sensor.TYPE_MAGNETIC_FIELD:
mags = event.values.clone();
break;
//I'm using Accelerometer here
case Sensor.TYPE_ACCELEROMETER:
accels = event.values.clone();
break;
}
SensorManager.getRotationMatrix(rotationMat, I, accels, mags);
SensorManager.getOrientation(rotationMat, calculatedOrients);
//I also get direction here, So do I need to specify android.hardware.sensor.compass in <uses-feature> ?
azimuth = (float) Math.toDegrees(calculatedOrients[0]);
pitch = (float) Math.toDegrees(calculatedOrients[1]);
roll = -(float) Math.toDegrees(calculatedOrients[2]);
}
Заранее спасибо!