【发布时间】:2014-09-18 21:25:20
【问题描述】:
我的手机掉了,看起来我的接近传感器不再可靠工作。它一直返回Near。问题是,通话过程中显示屏会关闭,我将无法使用数字键盘输入密码或与另一个通话进行会议,甚至无法断开通话。我在辅助功能设置中找到了电源按钮断开连接选项并立即使用。
我尝试创建一个应用程序,该应用程序会在收到呼叫时尝试获取完整的唤醒锁,希望它能够保持显示屏开启。
创建了一个广播接收器,当手机状态变为 OFFHOOK 时调用服务
服务获取完整的唤醒锁,并仅在手机状态为 IDLE 时释放。
但是,接近传感器仍然会关闭显示屏。我使用 isHeld() 方法来确保获得锁。我使用了 PowerManager 的 isScreenOn() 方法,即使在通话期间屏幕关闭,它也会返回 true。我尝试在循环中每两秒获取一次唤醒锁进行测试,但仍然无法显示。
我使用的是 Nexus 5 Android 版本 4.4.4
任何人都可以提出一个想法来覆盖接近传感器的行为吗?需要 root 的选项也可以。
谢谢!
【问题讨论】:
-
从 Google Play 商店获取应用 Hardware Disabler 访问play.google.com/store/apps/…
-
您的唤醒锁中是否设置了
ACQUIRE_CAUSES_WAKEUP标志?可能是在获取唤醒之前屏幕变暗。根据文档,它说除非设置了该标志,否则在屏幕关闭后获取唤醒锁不会打开屏幕(如果它已经打开,它只会保持打开状态)。 -
是的,我也设置了这个标志
-
用户“我的疑问”提到的应用程序 com.hatcyl.android.Hardware_Disabler 对我来说成功了 2 cmets,只是阻止了设备“/sys/bus/i2c/drivers/apds9702”它在我的索尼 xperia z 上,现在开始通话将使屏幕保持打开状态(上面发布的链接不起作用,我通过谷歌搜索名称找到了一个 apk -> size=99105bytes md5sum=cfdf0eaec8c259a8c43ce3cfcb3771f2)
-
“我在辅助功能设置中找到了电源按钮断开连接选项,现在就使用它。”...谢谢!我有完全相同的问题,虽然看起来你的解决方案不适用于 Android 5.x,但这对我来说已经足够好了......
标签: android telephony telephonymanager proximitysensor android-dialer