Android中怎么消除屏幕锁-创新互联

Android中怎么消除屏幕锁,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为增城企业提供专业的成都网站制作、做网站、外贸营销网站建设增城网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

真正的去锁屏实现有一个 handlehide方法,真正的去隐藏锁屏实现 handleshow方法:

private void handleShow() {
  synchronized (KeyguardViewMediator.this) {
    if (DEBUG) Log.d(TAG, "handleShow");
    if (!mSystemReady) return;
    playSounds(true);
    mKeyguardViewManager.show(); //  显示锁屏界面对应的窗口
    mShowing = true;       // 锁屏状态 , 即显示锁屏
    adjustUserActivityLocked();  // 取消对用户Activity的控制
    adjustStatusBarLocked();   //取消对状态栏的控制
    try {
      ActivityManagerNative.getDefault().closeSystemDialogs("lock");
    } catch (RemoteException e) {
    }
    mShowKeyguardWakeLock.release();
  }
}

我们只要将上面注释了的语句注释掉,那么就执行的空的,那样就取消真正的去锁屏实现

同理handlehide方法也只要注释

mKeyguardViewManager.hide();
mShowing = false;
adjustUserActivityLocked();
AdjustStatusBarLocked()

就可以取消真正的去隐藏锁屏实现。

但是做完以上后仍存在一个Bug(问题),就是唤醒屏幕后,会在指定的时间内屏幕由亮变暗,我们还需要做如下修改:按下POWER键时,解除屏幕由亮变暗的Bug。

handleWakeWhenReady(int keyCode)方法下注释掉

pokeWakelock(); //按下POWER键时, 解除屏幕由亮变暗的Bug

就可以达到效果了。

最后还有一种方法就是在KeyguardViewMediator.java中有一个变量mExternallyEnabled,只要将其初始改为false,需要显示界面(doKeyguard())时都不会继续走下去,也可以达到效果。

关于Android中怎么消除屏幕锁问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


文章名称:Android中怎么消除屏幕锁-创新互联
分享URL:http://scyanting.com/article/dcophc.html