当前位置: 代码迷 >> Android >> 怎么在通话中唤醒屏幕
  详细解决方案

怎么在通话中唤醒屏幕

热度:64   发布时间:2016-04-28 07:58:43.0
如何在通话中唤醒屏幕
通常有距离传感器的手机,在通话中,如果贴近脸不,距离传感器会起作用,使屏幕熄屏以防止误操作。

我现在的需求是,在这种情况下(接收到CALL_STATE_OFFHOOK广播时),需唤醒屏幕,如何实现?

下面的代码无效,PhoneApp熄屏后,还做了其他的处理,使得下面代码不能电量屏幕。
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
WakeLock wl= pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP |
                 PowerManager.SCREEN_DIM_WAKE_LOCK |
                 PowerManager.ON_AFTER_RELEASE, "TAG");
wl.acquire();

我想到两个方向:
1、利用上述类似的方法点亮屏幕。
    请问上述代码该如何修改?
2、进入我的程序前,更改手机“通话设置”中“通话中自动关闭屏幕”选项,突出程序时再改回来。
    请问如何修改“通话中自动关闭屏幕”设置?
距离传感器 通话中 唤醒屏幕

------解决方案--------------------
1.试着在wakelock前加上wakeUp
2.需要修改data/datacom.android.provider.settings/db里面相应的键值.通过ContentProvider去修改.
------解决方案--------------------
因为PROXIMITY sensor灭屏之后你拿锁是点亮不了屏幕的,这个是在PowerManagerService处理了的
你是做第三方应用的还是有系统源码?
如果有系统源码的话就比较好改的,如果只是第三方应用的话可能不太好弄
  相关解决方案