服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android编程实现禁止系统锁屏与解锁亮屏的方法

Android编程实现禁止系统锁屏与解锁亮屏的方法

2021-04-22 17:25天使之翼 Android

这篇文章主要介绍了Android编程实现禁止系统锁屏与解锁亮屏的方法,实例分析了Android关闭屏幕、锁屏及解锁屏幕的相关技巧,需要的朋友可以参考下

本文实例讲述了Android编程实现禁止系统锁屏与解锁亮屏的方法。分享给大家供大家参考,具体如下:

需求:

某个时刻任务执行完毕,关闭屏幕,某时刻再开启屏幕继续执行任务

通常情况下,不设置屏幕常亮,系统会自动锁屏,锁屏后不能从代码解锁(疑问),所以我的做法是只让系统关闭屏幕,但不锁屏!

?
1
2
3
WakeLock lock, unLock;
KeyguardManager km;
KeyguardLock kl;
?
1
2
3
4
unLock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");
// 得到键盘锁管理器对象
km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
kl = km.newKeyguardLock("unLock");
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void lockScreen() {
  // 锁屏
  kl.reenableKeyguard();
  // 释放wakeLock,关灯
  if(unLock.isHeld())
    unLock.release();
}
void unLockScreen() {
  // 点亮屏幕
  if(!unLock.isHeld())
    unLock.acquire();
  // 解锁
  kl.disableKeyguard();
}

测试代码,调用测试代码后,你手动按电源键锁屏,5s后你会看到屏幕亮起

?
1
2
3
4
5
6
7
8
9
10
{
  lockScreen();
  getListView().getHandler().postDelayed(new Runnable() {
    @Override
    public void run() {
      unLockScreen();
    }
  }, 5000);
  break;
}

希望本文所述对大家Android程序设计有所帮助。

延伸 · 阅读

精彩推荐