Introduction
常常我们开
发程序的时候我们不需要系统唤醒系统锁屏功能,比如我们在做xxxNowTV或XXX播放器这样的程序,用户有时候在看电视或视频的时候不希望系统的锁屏
功能启动,既不想锁频,然而系统却在我们看电视或者视频的时候出来个锁屏的界面进行锁频拉,我们还要想继续看的话还要去解锁,这样好麻烦,不是我们想要
的,那我们该怎么做呢,其实很简单,我这里只讲其中的两种
一
:我们只要在程序中用代码实现。代码如下:
二:禁用系统的锁频功能,这方法不建议使用,只有在设当的环境下适当使用既可,我们只要知道这样我们也可以达到这样的功能实现就OK。
我们知道Android系统的锁屏时间存放在Setting数据库中,字段为Settings.System.SCREEN_OFF_TIMEOUT。我们可以查看SettingsProvider源码,查看如下文件的源码如下:
~/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
查看loadSystemSettings()函数的代码如下
我们通过查看源码便知道,
Settings.System.SCREEN_OFF_TIMEOUT没有初始化的话(系统首次启动,这个字段肯定是没
有初始化的),系统将会利用资源中的R.integer.def_screen_off_timeout来初始化。我们为了让系统永不锁屏,只需要把资源
R.integer.def_screen_off_timeout设为-1即可。查看文件在这里:
frameworks/base/packages/SettingsProvider/res/values/defaults.xml
可以找到R.integer.def_screen_off_timeout的定义
发现默认值为60000ms,也就是60s。我们只需要把这个参数改为-1。然后重新编译SettingsProvider模块,就OK了。
但有时候也会有这样的情况发生,用户进入系统后,修改锁屏时间,为了这样的情况发生我们得在Setting模块中删除对锁屏时间的设置。这样Android设备就不锁屏了。
我们这里还要处理一种情况,就是让系统一启动我们就禁用锁屏的功能,很简单,我们只要把系统锁
屏
功能的的初始默认开关给改以下就可以了,如下找到这个类:
frameworks/policies/base/phone/com/android/internal/policy/impl/KeyguardViewMediator.java
该文件中有一个变量定义如下:
mExternallyEnabled是用来管理是否开启屏幕锁的关键。默认值是打开屏锁,根据注释可以知道他是希望应用程序来修改这个
值,我们可以把这个值改成false就可以了。
有时候我们不想修改这个初始值,那我们看看这个类有没有提供相应的方法来供外部修改这个值的,不出我们所料,看下面这段代码就是的了:
我们可以在我们需要修改这个值的地方来调用这个函数去修改,挺简单的吧,OK,锁频就讲到这里,其实锁屏这块还有挺多的知识点.
要想深入的了解其实挺麻烦的,如果大家对锁频有了个比较深入的了解的话,可以尝试自己开发一个琐屏的程序看看。
分享到:
相关推荐
Android中如何禁止屏幕休眠和锁屏 Android中如何禁止屏幕休眠和锁屏
Android的屏幕禁止休眠和锁屏的方法
Android屏幕永不休眠和不锁屏,很实用的Demo。
主要为大家详细介绍了Android应用禁止屏幕休眠的3种方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
利用PowerManager中 goToSleep和wakeUp方法实现手机强制休眠和唤醒,demo已测试通过
Android系统的休眠,组合代码介绍了几种休眠和唤醒的流程。
禁止系统锁屏或休眠(c#源代码)
本文实例讲述了Android编程实现屏幕禁止休眠的方法。分享给大家供大家参考,具体如下: 实现这一功能的方法有两种,一种是在Manifest.xml文件里面声明,一种是在代码里面修改LayoutParams的标志位。具体如下: 1、在...
Android修改源代码控制永不锁屏
防止Windows电脑休眠锁屏,针对企业内设定的定时锁屏策略,无法更改,可用此工具持续唤醒电脑。亲测安全可用,无需安装,双击运行,有启动和终止按钮的开关。
android禁止锁屏保持常亮(示例代码)。需要的朋友可以过来参考下,希望对大家有所帮助
在正常情况下,Android系统会让程序和服务进入休眠状态以节约电量使用。然而在开发Android程序时,有时候在程序运行的时候,不能让系统休眠,否则有一些运行会停止,因此我们需要设置禁止休眠。文档里面有两种方法,...
android休眠与唤醒驱动流程分析 android wakelock 休眠 唤醒
可让windows系统免除公司域控制强制锁屏、休眠的小工具
开发Android程序时,有时候在程序运行的时候,不能让系统休眠,否则有一些运行会停止,因此我们需要设置禁止休眠,有两种方式: 一种是添加权限, 一种是代码中设置, 建议使用第一种方式,这样,在安装程序的...
手机锁屏后,Android系统为了省电以及减少CPU消耗,在一段时间后会将手机进入休眠状态。此时的服务以及线程等都会停止。 最近就这个问题,阅读了很多代码以及官方文档,下面就说下最近都尝试过的方式,可能其中有些...
Android系统的休眠.pdf
屏幕锁屏休眠小助手单文件便携版 双击锁屏加休眠加息屏