android锁屏开发难题,android替换系统锁屏出现后如何自动取消的问题

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)Android开发实现消除屏幕锁的方法
转载 & & 作者:xxnan
这篇文章主要介绍了Android开发实现消除屏幕锁的方法,结合实例形式较为详细的分析了Android锁屏的原理及消除屏幕锁的相关操作技巧,需要的朋友可以参考下
本文实例讲述了Android开发实现消除屏幕锁的方法。分享给大家供大家参考,具体如下:
实现屏幕无锁---&当我们开机或者超过锁屏幕时间或按电源键之后屏幕没有锁的一种状态。
经过查询许多资料以及分析代码,我们可以发现最主要的屏幕功能还是在framework/base/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java中。
里面有一个handleshow方法:
真正的去锁屏实现有一个 handlehide方法,真正的去隐藏锁屏实现 handleshow方法:
private void handleShow() {
synchronized (KeyguardViewMediator.this) {
if (DEBUG) Log.d(TAG, "handleShow");
if (!mSystemReady)
playSounds(true);
mKeyguardViewManager.show(); //
显示锁屏界面对应的窗口
mShowing =
// 锁屏状态 , 即显示锁屏
adjustUserActivityLocked();
// 取消对用户Activity的控制
adjustStatusBarLocked();
//取消对状态栏的控制
ActivityManagerNative.getDefault().closeSystemDialogs("lock");
} catch (RemoteException e) {
mShowKeyguardWakeLock.release();
我们只要将上面注释了的语句注释掉,那么就执行的空的,那样就取消真正的去锁屏实现
同理handlehide方法也只要注释
mKeyguardViewManager.hide();
mShowing =
adjustUserActivityLocked();
AdjustStatusBarLocked()
就可以取消真正的去隐藏锁屏实现。
但是做完以上后仍存在一个Bug(问题),就是唤醒屏幕后,会在指定的时间内屏幕由亮变暗,我们还需要做如下修改:按下POWER键时,解除屏幕由亮变暗的Bug。
在handleWakeWhenReady(int keyCode)方法下注释掉
pokeWakelock(); //按下POWER键时, 解除屏幕由亮变暗的Bug
就可以达到效果了。
最后还有一种方法就是在KeyguardViewMediator.java中有一个变量mExternallyEnabled,只要将其初始改为false,需要显示界面(doKeyguard())时都不会继续走下去,也可以达到效果。
更多关于Android相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》
希望本文所述对大家Android程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Android自己定义锁频控制程序,有个Bug急,系统默认的锁屏界面进不去了
[问题点数:40分,结帖人nanzhiwen666]
Android自己定义锁频控制程序,有个Bug急,系统默认的锁屏界面进不去了
[问题点数:40分,结帖人nanzhiwen666]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|android编程 锁频后activity被杀死问题_百度知道
android编程 锁频后activity被杀死问题
小弟刚接触android,第一次写程序,生命周期什么的都一知半解。
现在我写了这样的activity,我希望它一直运行。
但实际是锁屏后不到10分钟,这个activity就会被杀死,等我再解锁屏幕看到的就是刚刚跳转到这个activity的状态(好像是执行过onCreate方法后的状...
我有更好的答案
将你要保存的数据放到bundle中(比如当前列表相中项什么的,EditText填入的值)。然后在onCreate方法提供的参数里面把值提取出来。要想activity不被kill是不可能的,然后重新赋值给EditText要在onSaveInstanceState中
如果我想保存的不是简单的变量 而是一个对象呢?
对象实现Parcelable接口就好。
有的逻辑不需要开始就执行,就没必要写在里面,要activity创建的时候,所以写在onCreate里面。主要区别在于,初始化一些view等。你那个属性避免机器后台运行时,可能被杀死。android activity的生命周期,具体有哪些你可以百度一下android:configChanges=&orientation&quot,否则你再打开就不会是你的程序了;你的程序不是被杀死,你要是都写在oncreate里面岂不是。只是由于你没有给这个activity声明横竖屏,清空一些数据。那么就可以把这些操作写在activity的onDestroy里面,导致的。这些是生命周期的方法,不需要触发。系统会自己调用。比如你想在activity结束的时候
就这么简单?声明横竖屏就可以让activity一直在后台运行?
本回答被网友采纳
为您推荐:
其他类似问题
您可能关注的内容
android的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。手机设定了自动锁定是5秒后自动锁定,可是时间过了不锁屏,请问是什么原因,如何处理,请详细说明_百度知道
手机设定了自动锁定是5秒后自动锁定,可是时间过了不锁屏,请问是什么原因,如何处理,请详细说明
我有更好的答案
然后重启一下,再不行的话你可以把手机资料进行备份一下,恢复出厂试一下,最后仍然解决不了的话就尝试下载刷机软件刷下就OK,或者是获得最高权限导致手机锁屏软件运行异常,还有就是和你手机其他的软件有锁屏功能的有冲突,建议你尝试先卸载一部分杀毒软件或优化软件一般都是软件原因,首先要确定你的手机是什么平台的安卓还是ios,一般情况下这种原因有可能是你的手机下载的什么软件和手机系统有冲突导致系统异常会出现这样的情况
采纳率:20%
要熄屏后才能5秒锁定
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 android 锁屏解锁流程 的文章

 

随机推荐