Я опустил свой телефон и выглядел так, как мой датчик приближения больше не работает надежно. Он возвращается почти все время. Проблема в том, что дисплей отключается во время разговора, и я не смогу использовать цифровую клавиатуру для входа в контакт или конференцию другого вызова или даже для отключения вызова. Я нашел параметр "Отключить питание" в настройках специальных возможностей и теперь это использует.
Я попытался создать приложение, которое пытается получить полный wakelock при получении вызова, надеясь, что он сохранит отображение.
-
Создан широковещательный приемник, который вызывает службу, когда состояние телефона изменяется на OFFHOOK
-
Услуга приобретает полный пакет и освобождает его только в том случае, когда состояние телефона равно IDLE.
Но все же датчик приближения отключает дисплей. Я использовал метод isHeld(), чтобы убедиться, что блокировка получена. Я использовал метод PowerManager isScreenOn() и вернул его, даже когда экран был выключен во время вызова. Я пытался получить wakelocks каждые две секунды в цикле для тестирования, но дисплей не появится.
Я использую версию Nexus 5 для Android версии 4.4.4
Может кто-нибудь предложить идею переопределить поведение датчика приближения? Требуется также root-параметр.
Спасибо!