我不小心把手机摔了,接近传感器看起来不再可靠。它一直返回“Near”。问题是,在通话期间显示屏会关闭,我就无法使用数字键盘输入密码或者会议呼叫,甚至无法挂断电话。我在辅助功能设置中找到了电源按钮断开选项,并现在使用它。
我试图创建一个应用程序,当接听电话时尝试获得完整的唤醒锁,希望它可以保持显示屏亮着。
创建了一个广播接收器,在电话状态变为OFFHOOK时调用服务
服务获取完整唤醒锁,只有当电话状态为IDLE时才释放
但是,接近传感器仍然会关闭显示屏。我使用isHeld()方法确保已获得锁。我使用PowerManager的isScreenOn()方法,在通话期间即使屏幕关闭它也返回true。我尝试每两秒循环一次获取唤醒锁进行测试,但显示屏仍无法亮起。
我正在使用Nexus 5 Android 4.4.4版本
有人能提供覆盖接近传感器行为的想法吗?需要root权限也可以。
谢谢!
ACQUIRE_CAUSES_WAKEUP
标志?可能是因为在获取唤醒之前屏幕变暗了。根据文档,它说在屏幕关闭后获取wakelock不会打开屏幕(只会保持打开状态,如果已经打开),除非设置了该标志。 - initramfs