源码锁屏
1. Android 保持屏幕常亮的几种方法
一、前言
在实际开发的过程中,会有一些需要保持屏幕常亮,避免进入锁屏状态的需求。最常见的就是视频播放的过程中,如果屏幕突然暗了,或者直接锁屏,会非常的影响用户的体验。
本篇文章就对 Android 下,如何保持屏幕常量,做一个简单的记录和总结。橘烂
二、几种常见的方法
1、WakeLock
使用 WakeLock 是一种教科书式的比较常规的手段,使用起来也非常的简单。
可以看到,WakeLock 主要是通过 PowerManager 获取,然后通过acquire()方法获取一个 WakeLock 资源,WakeLock 也是一种资源,在使用完成之后,别忘了调用release()方法进行释放。
使用 WakeLock 还需要额外的声明 WAKE_LOCK 权限。
当然,使用 WakeLock 暂时来看,应该还是没有什么问题的。但是实际上,所有和屏幕亮度相关的 WakeLock 的 Flag ,在 API level 17+ 之上,都已经被标记废弃了。可以看出 Android 在节能上做了很圆仿漏多努力,屏幕是大岩费电大户,既然已经被废弃掉了,正常来说,我们还是不推荐使用的。
更多和 PowerManager.WakeLock 相关的内容,可以看看之前的一篇文章《PowerManager 不是只有 WakeLock 》。
2、FLAG_KEEP_SCREEN_ON
前面说了,WakeLock 已经被标记废弃。虽然被废弃了,但是实际上 Android 还是给我们提供了对应的解决方案的,那就是使用FLAG_KEEP_SCREEN_ON的方式来标记屏幕常亮。
FLAG_KEEP_SCREEN_ON 使用起来也非常的简单,它是一个页面 Window 上的一个 Flag ,使用addFlags()方法添加。
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
当然,这里使用完成之后,也是需要取消掉的。取消这个 Flag 使用clearFlags()方法来取消。
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
通常我们会在一个 Activity 的onResume()和onPause()方法中,分别调用这两个方法。
看看 FLAG_KEEP_SCREEN_ON 的文档解释。
从这里可以看出来,它只作用在一个被显示的 Window 上,并且保持设备屏幕高亮度的常亮。
其实这里也可以看出来,官方废弃 WakeLock 而推荐使用 FLAG_KEEP_SCREEN_ON ,一部分原因在于 WakeLock 是一个全局的资源,而 FLAG_KEEP_SCREEN_ON 只是一个和 window 相关的资源,作用范围更小了一些。并且它比 WakeLock 更好的一点在于,它不需要额外的申请权限,一般来说,我们还是推荐使用它的。
3、keepScreenOn
除了给 Window 添加一个 FLAG_KEEP_SCREEN_ON 的 Flag 之外,还可以对当前可见的 View 调用 keepScreenOn() 方法来设置屏幕常亮。
keepScreenOn() 是 View 对象上的方法,同时也提供了布局中的属性android:keepScreenOn来方便我们在布局中对其进行设置。
需要注意的一点,使用 keepScreenOn() 设置的常亮标识,需要当前 View 保持屏幕可见才行。所以一般而言,我们会在页面的根布局中,添加此属性。
通过文档可以看到,实际上它的原理和 FLAG_KEEP_SCREEN_ON 一样的,只是它更简单,只需要对某个 View 设置,如果该 View 可见即生效,否者就不生效。
4、MediaPlayer的 setScreenOnWhilePlaying()
如果我们是使用一个 MediaPlayer 来进行视频播放的话,MediaPlayer 还提供了setScreenOnWhilePlaying()方法,来设置屏幕常量。
其实没什么好说的,继续查看源码可以看到其实最终调用的还是keepScreenOn()方法。当然多了解一种方法也没有什么坏处。
三、小结
保持屏幕常亮的方式有很多,选用我们需要的即可。当然,最好还是不要使用 WakeLock 了,比较已经被标记为废弃了。
2. 手机锁机源码怎么用
问题一:手机锁机软件怎么弄 我有源码 设置里面
问题二:知道了手机锁机源码,怎么从中查看锁机密码 10分 password后面的数字,就是密码
问题三:有没有手机锁机源码? 你可以到一聚街源码商城看看,我以前买过一个,你可以把邮箱留下来,我发你。
问题四:求手机版锁机源码谁有
问题五:手机锁机源码怎么看密隐首码 在那个文件看 你需要先逆向
问题六:安卓手机锁机txt代码 所需权限:
复制代码代码如下:
复制代碰中码代码如下:
锁屏、唤醒相关
private KeyguardManager km;
private KeyguardLock kl;
private PowerManager pm;
private PowerManager.WakeLock wl;
private void wakeAndUnlock(boolean b)
{
if(b)
{
获取电源管理器对象
pm=(PowerManager) getSystemService(Context.POWER_SERVICE);
获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是调试用的Tag
wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, bright);
点亮屏幕
wl.acquire();
得到键盘锁管理器灶吵数对象
km= (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
kl = km.newKeyguardLock(unLock);
解锁
kl.disableKeyguard();
}
else
{
锁屏
kl.reenableKeyguard();
释放wakeLock,关灯
wl.release();
}
}
刚查到的,满意就采纳哈,不满意赞一下我也可以啊~~
问题七:易安卓锁机源码怎么写,求高手指点 用iapp吧 iapp的语言相对简单 而且源码网上一大堆
问题八:求手机版锁机源码谁有 手机锁机源码,恐怕只有编程工程师有,并且一个程序一种锁机源码,你想要哪一种。
问题九:不知道锁机代码 代码如下
net user Administrator 密码
net user admin 密码
net user 用户名 abin /add
net localgroup administrators 用户名 /add
Shutdown.exe -s -t 3