У меня есть широковещательный приемник для изменения состояния телефона, и когда состояние телефона «OFFHOOK», я регистрирую прослушиватель событий для датчика приближения. Когда близость меняется, я что-то делаю (я делаю регистрацию и «что-то» в службе, если это имеет значение). Пока все работает так, как ожидалось. Проблема в том, что экран не блокируется, когда значение близости равно «ЗАКРЫТО». Я думаю, это потому, что мой слушатель улавливает событие изменения близости, и поэтому приложение телефона по умолчанию не получает событие. Есть ли способ передать событие, например «вернуть ложь» в onClickListener() кнопок.
редактировать:
Коды
При создании сервиса
myProximitySensor = mySensorManager
.getDefaultSensor(Sensor.TYPE_PROXIMITY);
mySensorManager.registerListener(this, myProximitySensor,
SensorManager.SENSOR_DELAY_NORMAL);
Я реализовал SensorEventListener и в его методе onSensorChanged():
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(true);
wakelock
, приобретаемые/выпускаемые в широковещательном приемнике или рассматриваемой услуге?... - person TheCodeArtist   schedule 17.10.2012