在通话期间禁用接近传感器

问题描述 投票:27回答:8

我放下手机,看起来我的接近传感器不再可靠。它一直返回近处。问题是,在通话期间显示屏关闭,我将无法使用数字键盘输入别针或会议另一个电话,甚至断开呼叫。我在辅助功能设置中找到了电源按钮断开连接选项并立即使用它。

我试图创建一个应用程序,试图在收到一个电话时获得一个完整的唤醒锁,希望它能保持显示。

  • 创建一个广播接收器,当电话状态变为OFFHOOK时调用服务
  • 该服务获得一个完整的唤醒锁,只有在手机状态为IDLE时才会释放它。

但是,接近传感器会关闭显示屏。我使用isHeld()方法来确保获取锁。我使用了PowerManager的isScreenOn()方法,即使在通话期间屏幕关闭时它也返回true。我试图在一个循环中每两秒获取一次唤醒锁进行测试,但显示器仍然不会出现。

我正在使用Nexus 5 Android版本4.4.4

任何人都可以建议超越接近传感器的行为吗?根要求的选项也没关系。

谢谢!

android telephony telephonymanager proximitysensor android-dialer
8个回答
2
投票

接近传感器拨号

*#*#7378423#*#*

1)服务测试 - (如果存在)

2)接近开关

3)传感器测试(移动设备徽标(顶部)旁边)

4)是的,如果工作,那么你可以永远保持和接近开关,一直发出嘟嘟声并消耗大量电池

要么

4)不行不通 - 然后只需清洁移动屏幕或屏幕防护罩,并清除传感器上被阻挡的屏幕。它很有魅力。

从技术上讲,它不是任何软件解决方案,但硬件解决方案将起作用。


6
投票

我找到了我的解决方案here。基本上使用名为Proximity Screen Off Lite的应用程序并将其设置如下:

  1. 屏幕开/关模式检查“盖住并按住以打开屏幕”超时:1秒检查“禁用事故锁定”超时:4秒
  2. 所有设置选中“在风景中禁用”选中“在屏幕上锁定手机”
  3. [高级]配置Sensore Select传感器:接近传感器覆盖传感器时的值:0传感器未被覆盖时的值:1

6
投票

我也遇到了接近传感器的问题(我在Nexus 6,Android Marshmallow上的那个区域破了屏幕)当我试图禁用接近传感器时,没有提议的解决方案/第三方应用程序工作。对我有用的是使用Proximity Sensor Reset/Repair校准传感器。您必须按照应用程序中的说明(盖住传感器并将其揭开),然后重新启动手机。虽然我的传感器不再位于玻璃后面,但在覆盖/未覆盖时仍会显示略微不同的结果,并且重新校准完成了工作。

我尝试过什么都没用? Proximity Screen Off Lite,Macrodroid和KinScreen。

如果它还没有用,我会尝试什么?[XPOSED] Sensor Disabler,但它需要你扎根并拥有Xposed Framework,所以我很高兴我找到了更简单的方法。


3
投票

我一直在研究这个,测试和编写应用程序。

如果您在Settings → Phone → Use proximity sensor中没有选项,那么唯一的选择似乎是在root设备中禁用或修改其设置。

还要考虑一下,如果您插入耳机,屏幕将保持打开状态:D


3
投票

尝试了一大堆修复后,包括:

  • 手机应用程序的菜单选项(我的手机没有禁用选项)
  • Proximity Screen Off Lite(无效)
  • 带有传感器禁用器的Xposed Framework(直到手机重启或应用更新为止)
  • Macrodroid宏(由于某种原因,Macrodroid无法在我的手机上运行)
  • 在它前面放了一些锡纸?(我不知道我在想什么)

这是我的修复:我想你不能打破它,所以我打开手机,从主板上一起取下接近传感器。传感器测试仪应用程序现在显示“no_value”,用于表示“距离:0”,拨号后我的屏幕不再变黑。请注意我只能在使用CM MOD 5.1.1的三星I8190 Galaxy S III mini上进行确认。这是我移除的设备的图片:prox sensor我已经使用SMD焊台的400度热风枪,一些镊子和助焊剂将其移除。但是一把锋利的爱好刀也可能起作用。


1
投票

编辑文件夹/系统中的build.prop如果存在以下行,则更改该值,如果不存在则添加此行并保存。(设备必须root)

ro.lge.proximity.delay=25
mot.proximity.delay=25  

1
投票

不幸的是,我的接近传感器也不起作用(总是返回0.0厘米)。我找到了方法,但不容易:你需要root手机,安装XPOSED框架和Sensor Disabler(https://play.google.com/store/apps/details?id=com.mrchandler.disableprox)。您可以在应用程序中模拟接近传感器返回值。 (例如总是返回2.0厘米)。然后,您的显示屏将在通话期间始终打开。


1
投票

如果你有LineageOS 7.1.2(并有root),请尝试XDA的this解决方案。


在尝试了这里提出的所有解决方案之后,没有一个适用于我的Nexus 4(mako),我在XDA上发现了一个解决Android拨号器问题(但不能与其他应用程序一起使用)。基本上我下载了Dialer.apk文件的重新编译版本,它只是忽略了接近传感器,其行为方式与股票拨号器应用程序相同。

将/system/priv-app/Dialer/Dialer.apk重命名为某个内容,然后将下载的文件放到该文件夹​​中。重启后,我不得不手动安装新的拨号器(只需点击它)。所以现在原来的应用程序被替换了,调用应该由这个新应用程序处理。

[下行方式:接听电话的新方法是通过拉下状态栏并单击“接听”(或“关闭”),通常的滑块丢失。此外,每次Android更新到新版本时,您都需要重复此操作。

© www.soinside.com 2019 - 2024. All rights reserved.