Как избежать взлома эмулятора Android getSystemService (Context.SENSOR_SERVICE)?

Всякий раз, когда я вызываю этот метод в эмуляторе Android:

SensorManager sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);

Эмулятор висит. При поиске этой проблемы я нахожу много ссылок на это исправление еще в 2009 году, но в настоящее время я использую последние SDK/инструменты, доступные в текущее время (декабрь 2011 г.). Уровень API 8/v2.2.

Должен ли я действительно реализовывать код для проверки того, запускаю ли я в эмуляторе и избегаю всего кода на основе датчика?

Ответ 1

Я испытал нечто похожее на API7 в эмуляторе: упомянутый код заставляет эмулятор немедленно выйти из программы без предупреждения или сообщения журнала. (API4 и API10 в порядке, я не тестировал API8 специально).

Я решил это, установив акселерометр в false в настройках AVD. (Я пробовал это из-за проблем с акселерометром в API14/API15 с запуском из моментального снимка.)

Привет,

Арджан

Ответ 2

У меня была та же проблема с SDK r16 (декабрь 2011), отключив акселерометр и магнитное поле, не помогло.

Итак, наконец, я воссоздал AVD и отключил 3 вещи в свойствах avd: акселерометр, магнитное поле и ориентация. Теперь он работает хорошо.