Отключить датчик приближения во время вызова
Я опустил свой телефон и выглядел так, как мой датчик приближения больше не работает надежно. Он возвращается почти все время. Проблема в том, что дисплей отключается во время разговора, и я не смогу использовать цифровую клавиатуру для входа в контакт или конференцию другого вызова или даже для отключения вызова. Я нашел параметр "Отключить питание" в настройках специальных возможностей и теперь это использует.
Я попытался создать приложение, которое пытается получить полный wakelock при получении вызова, надеясь, что он сохранит отображение.
-
Создан широковещательный приемник, который вызывает службу, когда состояние телефона изменяется на OFFHOOK
-
Услуга приобретает полный пакет и освобождает его только в том случае, когда состояние телефона равно IDLE.
Но все же датчик приближения отключает дисплей. Я использовал метод isHeld(), чтобы убедиться, что блокировка получена. Я использовал метод PowerManager isScreenOn() и вернул его, даже когда экран был выключен во время вызова. Я пытался получить wakelocks каждые две секунды в цикле для тестирования, но дисплей не появится.
Я использую версию Nexus 5 для Android версии 4.4.4
Может кто-нибудь предложить идею переопределить поведение датчика приближения? Требуется также root-параметр.
Спасибо!
Ответы
Ответ 1
Датчик приближения
Наберите
*#*#7378423#*#*
1) Сервисные тесты - (если есть)
2) Бесконтактный переключатель
3) Тест на датчик (рядом с логотипом (вверху) мобильного устройства)
4) Да, если работает, тогда вы можете продолжать и бесконтактный переключатель навсегда, что дает звуковой сигнал все время и потребляет много батареи
ИЛИ
4) Нет, это не работает. Затем просто очистите экран мобильного телефона или экранную охрану и снимите заблокированный экран с датчика. Он работает шармом.
Технически,
Это не любое программное решение, но аппаратное решение будет работать.
Ответ 2
У меня также была проблема с датчиком приближения (я разбил экран в этом регионе на своем Nexus 6, Android Marshmallow), и ни одно из предложенных решений/сторонних приложений не работало, когда я пытался отключить датчик приближения. Для меня было полезно откалибровать датчик с помощью сброса/ремонта датчика приближения. Вы должны следовать инструкции в приложении (датчик крышки и раскрыть его), а затем перезагрузить телефон. Хотя мой датчик больше не находится за стеклом, он все же показал немного другие результаты, когда он был покрыт/раскрыт, а повторная калибровка выполнила свою работу.
Что я пытался и не работал? Экран сближения выключен Lite, Macrodroid и KinScreen.
Что бы я попробовал, если бы он все еще не работал?[XPOSED] Sensor Disabler, но он требует от вас рутирования и наличия Xposed Framework, так что я действительно рад, что нашел более легкий путь.
Ответ 3
Я нашел свое решение здесь.
В основном используйте приложение под названием Proximity Screen Off Lite
и установите его, как показано ниже:
-
Режимы включения/выключения экрана
Проверьте "Закройте и удерживайте, чтобы включить экран"
Время ожидания: 1 секунда
Установите флажок "Отключить блокировку Accidentla"
Тайм-аут: 4 секунды
-
Все настройки
Установите флажок "Отключить в Lanscape"
Установите флажок "Блокировать телефон на экране ВКЛ"
-
[Дополнительно] Настройка датчика
Выбрать датчик: Датчик приближения
Значение при покрытии датчика: 0
Значение при отсутствии датчика: 1
Ответ 4
Я занимаюсь этим некоторое время, тестировал и писал приложения.
Если у вас нет опции в Settings → Phone → Use proximity sensor
, то единственным выбором является отключить или изменить его настройки в корневых устройствах.
Также подумайте, что если вы подключите гарнитуру, экран останется включенным: D
Ответ 5
Попробуйте целую цепочку исправлений, включая:
- Опция меню телефона (мой телефон не имеет возможности отключить)
- Экран Proximity Screen Lite (не работает)
- Xposed Framework с сенсорным отключением (работает до перезагрузки телефона
или обновления приложения)
- Macrodroid macro (Macrodroid не работает на моем телефоне для некоторых
причина)
- Положите перед ним фольгу из фольги (я не знаю, о чем я думал)
Вот мое исправление:
Я решил, что вы не можете сломать его больше, поэтому я открыл свой телефон и удалил датчик близости вместе с материнской платой. Приложение сенсорного тестера теперь показывает "no_value", где оно используется, чтобы дать "Расстояние: 0", и мой экран больше не станет черным после набора номера. Обратите внимание, что я могу подтвердить это только на Samsung I8190 Galaxy S III mini с CM MOD 5.1.1. Вот изображение устройства, которое я удалил:
Я удалил его с помощью тепловой пушки SMD с пайкой на 400 градусов, некоторых пинцетов и флюсов. Но резкий нож для хобби тоже мог бы работать.
Ответ 6
Если у вас есть LineageOS 7.1.2 (и у вас есть root), попробуйте это решение от XDA.
После того, как мы попробовали все предлагаемые здесь решения, ни один из которых не работал на моем Nexus 4 (mako), я нашел его на XDA, который решает проблему с дозвонщиком Android (но не с другими приложениями). В основном я загрузил перекомпилированную версию файла Dialer.apk, которая просто игнорирует датчик приближения и ведет себя так же, как и приложение дозвона.
Переименуйте/system/priv-app/Dialer/Dialer.apk, а затем поместите загруженный файл в эту папку. После перезагрузки мне пришлось установить новый дозвон вручную (просто щелкнув по нему). Итак, теперь исходное приложение заменяется, и вызовы должны обрабатываться этим новым.
[Даунсайд: новый способ ответить на вызов - это вытащить строку состояния и нажать "Ответить" (или "Отклонить" ), обычный слайдер отсутствует. Кроме того, вам нужно будет повторять это каждый раз, когда ваши обновления для Android появятся в более новой версии.]
Ответ 7
К сожалению, мой датчик приближения тоже не работает (всегда возвращает 0,0 см). Я нашел способ, но не простой: вам нужно укоренить свой телефон, установить инфраструктуру XPOSED и Sensor Disabler (https://play.google.com/store/apps/details?id=com.mrchandler.disableprox). Вы можете высмеять значение обратной связи датчика приближения в приложении. (например, всегда возвращайте 2,0 см). Тогда ваш дисплей будет всегда включен во время разговора.
Ответ 8
отредактируйте файл build.prop в папке/системе, если существует строка ниже, измените значение, а если нет, добавьте эту строку и сохраните. (устройство должно быть укоренено)
ro.lge.proximity.delay=25
mot.proximity.delay=25
Ответ 9
Еще несколько ответов от веб-сайтов: "починить" сенсор (приклеить экран обратно на больше, или очистить его спиртом, или сдуть его воздухом, подаваемым через разъем для наушников, коснуться его, почистить экран и т.д.).
Отрегулируйте (после некоторого нахождения) настройки в приложении "телефон", чтобы отключить использование датчика приближения. У меня нет такой настройки, которую я мог бы найти. Proximity Screen Off Lite
также не работал, ни macrodroid
.
Другой вариант: выполнить рутирование телефона и удалить некоторые файлы:
From root explorer or similar program delete these folders and file
/data/system/sensors
/data/misc/sensors
/persist/sensors/sns.reg
Или, если вы действительно в отчаянии, я полагаю, что система набора номера, например TextNow или Google Hangouts Dialer, совершенно другая: |