37

我掉了手机,看起来我的接近传感器不再可靠工作。它总是返回Near。问题是,通话过程中显示屏关闭,我将无法使用数字键盘输入密码或与另一个电话会议,甚至无法断开通话。我在辅助功能设置中找到了电源按钮断开连接选项并现在使用它。

我尝试创建一个应用程序,该应用程序在收到呼叫时尝试获取完整的唤醒锁,希望它能够保持显示状态。

  • 创建了一个广播接收器,它在电话状态更改为 OFFHOOK 时调用服务

  • 该服务获取一个完整的唤醒锁并仅在电话状态为 IDLE 时释放它。

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

我使用的是 Nexus 5 Android 版本 4.4.4

任何人都可以提出一个想法来覆盖接近传感器的行为吗?需要根的选项也可以。

谢谢!

4

9 回答 9

8

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

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

这是我的解决方法: 我认为你不能再破坏它,所以我打开手机并从主板上一起移除接近传感器。传感器测试器应用程序现在显示“ no_value ”,它用于给出“距离:0 ”,并且我的屏幕在拨号后不再变黑。请注意,我只能在配备 CM MOD 5.1.1 的三星 I8190 Galaxy S III mini 上确认这一点。这是我移除的设备的图片: 接近传感器 我使用 SMD 焊台的 400 度热风枪、一些镊子和助焊剂将其移除。但锋利的爱好刀也可能有用。

于 2017-12-29T16:27:47.990 回答
7

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

我尝试了什么但没有奏效?Proximity Screen Off Lite、Macrodroid 和 KinScreen。

如果它仍然不起作用,我会尝试什么?[XPOSED] Sensor Disabler,但它需要你有根并拥有 Xposed 框架,所以我很高兴我找到了更简单的方法。

于 2016-09-09T18:40:38.503 回答
6

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

  1. 屏幕开/关模式 检查“覆盖并按住以打开屏幕”超时:1 秒 检查“禁用意外锁定”超时:4 秒

  2. 所有设置选中“在 Lanscape 中禁用”选中“在屏幕上锁定手机”

  3. [高级] 配置 Sensore 选择传感器:接近传感器 传感器覆盖时的值:0 传感器未覆盖时的值:1

于 2014-10-16T19:58:39.340 回答
5

我已经研究了一段时间,测试并编写了应用程序。

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

另请考虑,如果您插入耳机,屏幕将保持打开状态:D

于 2016-02-22T23:28:15.510 回答
3

如果你有 LineageOS 7.1.2(并且有 root),试试XDA 的这个解决方案。


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

将 /system/priv-app/Dialer/Dialer.apk 重命名为某个名称,然后将下载的文件放入该文件夹。重新启动后,我必须手动安装新的拨号程序(只需单击它)。所以现在原来的应用程序被替换了,呼叫应该由这个新的应用程序来处理。

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

于 2017-08-14T09:12:37.743 回答
2

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

于 2016-09-26T10:40:25.640 回答
1

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

ro.lge.proximity.delay=25
mot.proximity.delay=25  
于 2014-07-27T15:54:14.513 回答
1

接近传感器表盘

*#*#7378423#*#*

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

2) 接近开关

3)传感器测试(在手机的标志(顶部)旁边)

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

或者

4) 不,它不起作用 - 然后只需清洁手机屏幕或屏幕保护罩,并从传感器清除阻塞的屏幕。它很有魅力。

从技术上讲,它不是任何软件解决方案,而是硬件解决方案。

于 2016-12-03T04:56:05.413 回答
1

来自互联网的更多答案:“修复”传感器(将屏幕重新粘上,或用酒精清洁,或用通过耳机插孔送来的空气吹掉,点击它,清洁屏幕等)。

调整(经过一些发现)“电话”应用程序中的设置以禁用接近传感器的使用。我找不到这样的设置。 Proximity Screen Off Lite也没有工作,也没有macrodroid

另一种选择:root你的手机并删除一些文件

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 :|

于 2019-09-20T18:46:15.517 回答