当前位置:   article > 正文

Android wakelock和keyguardManager_android powermanager keyguardmanager

android powermanager keyguardmanager

wakelock唤醒设备,keyguardManager操作锁屏

1.wakelock唤醒设备,下面是一段代码。

使用wakelock时要在manifest.xml里加入权限:

 <uses-permission android:name="android.permission.WAKE_LOCK" >
 <uses-permission android:name="android.permission.DEVICE_POWER" >
  • 1
  • 2
//创建PowerManager对象
PowerManager mPm = (PowerManager) getSystemService(Context.POWER_SERVICE);
//创建walelock对象
Wakelock mScreenonWakeLock = mPm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP, "AIYONG");
//调用唤醒函数,传入一个超时的限制
mScreenonWakeLock.acquire(2000);
//释放wakelock
mScreenonWaleLock.release();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

wakelock对象中的几个参数说明:

  • PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。

  • SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯

  • SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯

  • FULL_WAKE_LOCK:保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度

  • ACQUIRE_CAUSES_WAKEUP:不会唤醒设备,强制屏幕马上高亮显示,键盘灯开启。

  • ON_AFTER_RELEASE:WakeLock 被释放后,维持屏幕亮度一小段时间

不同的参数对应了不同的wakelock对象,根据自己的需求选择合适的参数,一般不唤醒屏幕都是使用PARTIAL_WAKE_LOCK这个参数的。


需要注意的是使用完wakelock后一定要记得释放wakelock,不然手机一直处于唤醒状态,手机不能进入休眠电量一下就没了。所以wakelock的acquire()和release()是成对出现的。唤醒后做完事情或就release释放掉。为了保险起见会在acquire(2000)加个超时的时间。


  1. keyguardManager的使用,下面是解锁和锁屏的一段代码:

使用keyguard时也是需要权限的,需要在manifest.xml里加入下面的权限

<uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> 
  • 1
KeyguardManager mKeyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
//创建keyguard对象
KeyguardLock mKeyguardLock = mKeyguardManager.newKeyguardLock("AIYONG");
//解锁
mkeyguardLock.disableKeyguard();
//判断是否锁屏,没锁就锁屏
if (!mKeyguardManager.inKeyguardRestrictedInputMode()) {
        mkeyguardLock.reenableKeyguard();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

需要注意的是:锁屏reenableKeyguard()这个函数,如果在调用disableKeyguard()函数之前是锁屏的,那么就进行锁屏,否则不进行任何操作。当然如果之前没调用disableKeyguard()函数,也不进行任何操作。所以调用reenableKeyguard()函数之前,你必须要有过锁屏动作,否则不做任何操作。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/619652
推荐阅读
相关标签
  

闽ICP备14008679号