Подтвердить что ты не робот

Отключить датчик приближения во время вызова

Я опустил свой телефон и выглядел так, как мой датчик приближения больше не работает надежно. Он возвращается почти все время. Проблема в том, что дисплей отключается во время разговора, и я не смогу использовать цифровую клавиатуру для входа в контакт или конференцию другого вызова или даже для отключения вызова. Я нашел параметр "Отключить питание" в настройках специальных возможностей и теперь это использует.

Я попытался создать приложение, которое пытается получить полный wakelock при получении вызова, надеясь, что он сохранит отображение.

  • Создан широковещательный приемник, который вызывает службу, когда состояние телефона изменяется на OFFHOOK

  • Услуга приобретает полный пакет и освобождает его только в том случае, когда состояние телефона равно IDLE.

Но все же датчик приближения отключает дисплей. Я использовал метод isHeld(), чтобы убедиться, что блокировка получена. Я использовал метод PowerManager isScreenOn() и вернул его, даже когда экран был выключен во время вызова. Я пытался получить wakelocks каждые две секунды в цикле для тестирования, но дисплей не появится.

Я использую версию Nexus 5 для Android версии 4.4.4

Может кто-нибудь предложить идею переопределить поведение датчика приближения? Требуется также root-параметр.

Спасибо!

4b9b3361

Ответ 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. Вот изображение устройства, которое я удалил: prox sensor Я удалил его с помощью тепловой пушки 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, совершенно другая: |