设为首页 加入收藏

TOP

Android消除屏幕锁
2014-11-24 08:05:32 来源: 作者: 【 】 浏览:1
Tags:Android 消除 屏幕

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


1 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();
}
}
我们只要将上面注释了的语句注释掉,那么就执行的空的,那样就取消真正的去锁屏实现

2 同理handlehide方法也只要注释mKeyguardViewManager.hide();
mShowing = false;
adjustUserActivityLocked();
AdjustStatusBarLocked()
就可以取消真正的去隐藏锁屏实现。

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

在handleWakeWhenReady(int keyCode)方法下注释掉 pokeWakelock(); //按下POWER键时, 解除屏幕由亮变暗的Bug
就可以达到效果了。

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


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android 获取手机信息 下一篇Android Setting中添加解除屏幕锁..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·TCP/UDP协议_百度百科 (2025-12-26 12:20:11)
·什么是TCP和UDP协议 (2025-12-26 12:20:09)
·TCP和UDP详解 (非常 (2025-12-26 12:20:06)
·Python 教程 - W3Sch (2025-12-26 12:00:51)
·Python基础教程,Pyt (2025-12-26 12:00:48)