Как я могу заменить type_orientation (устарел) для android 4.0.3?
Здравствуйте, я хочу использовать тип type_orientation
, но он устарел для android 4.0.3. Я использую его для расширенной реальности. Я пытался найти в сети, но безуспешно. Мое приложение работает, но мой текст внутри остается в одном месте! Здесь мой код:
@Override
protected void onStart() {
super.onStart();
sensorMngr = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
sensorLstr = createListener();
sensorMngr.registerListener(sensorLstr, sensorMngr.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_UI);
}
@Override
protected void onStop() {
super.onStop();
sensorMngr = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
sensorMngr.unregisterListener(sensorLstr, sensorMngr.getDefaultSensor(Sensor.TYPE_ORIENTATION));
}
Все это хорошо, я смотрел уже на http://developer.android.com/reference/android/hardware/Sensor.html, но я не могу понять (я французский, и мой английский не очень совершенен..) Большое спасибо за вашу помощь.
Ответы
Ответ 1
Здесь ссылка в блог с решением. По сути, вы перестаете использовать датчик ориентации и используете датчики магнитного поля и акселерометр (датчики) в тандеме, чтобы получить эквивалентную функциональность. Это больше работает, но это позволяет вам продолжать использовать обратный вызов для обработки изменений ориентации.
Ответ 2
Новейшим типом датчика для этой функции является Sensor.TYPE_ROTATION_VECTOR, как показано в этом образце Google I/O на слайде 17:
http://commondatastorage.googleapis.com/io-2013/presentations/104%20-%20When%20Android%20Meets%20Maps%20(Final).pdf