Android应用代码点亮屏幕并解锁

您所在的位置:网站首页 安卓应用锁怎么设置密码解锁 Android应用代码点亮屏幕并解锁

Android应用代码点亮屏幕并解锁

2024-07-13 14:59| 来源: 网络整理| 查看: 265

总共有几种方式,但是有些已经废弃了,具体可以尝试一下。

第一种:

/** * 唤醒手机屏幕并解锁 */ public static void wakeUpAndUnlock() { // 获取电源管理器对象 PowerManager pm = (PowerManager) MyApplication.getContext() .getSystemService(Context.POWER_SERVICE); boolean screenOn = pm.isScreenOn(); if (!screenOn) { // 获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag PowerManager.WakeLock wl = pm.newWakeLock( PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright"); wl.acquire(10000); // 点亮屏幕 wl.release(); // 释放 } // 屏幕解锁 KeyguardManager keyguardManager = (KeyguardManager) MyApplication.getContext() .getSystemService(KEYGUARD_SERVICE); KeyguardManager.KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("unLock"); // 屏幕锁定 keyguardLock.reenableKeyguard(); keyguardLock.disableKeyguard(); // 解锁 }

注意:好多写法都是wl.acquire() 这样写的,在有的手机上不好使,所以有的博客这样写的wl.acquire(10000); // 点亮屏幕然后就好使了,不知道是不是时间太短了,刚唤醒屏幕就释放掉了会有问题。

实际上这种方式在Android 9 以后好像行不通了。

第二种:

当然是设置window的flag了。

private void unLockScreen(){ final Window win = getWindow(); win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON); }

第三种:

if (mHomeActivity == null) return; keyguardManager.requestDismissKeyguard(mHomeActivity, new KeyguardManager.KeyguardDismissCallback() { @Override public void onDismissError() { super.onDismissError(); Log.d("xxx-->", "1 onDismissError"); } @Override public void onDismissSucceeded() { super.onDismissSucceeded(); Log.d("xxx-->", "1 onDismissSucceeded"); } @Override public void onDismissCancelled() { super.onDismissCancelled(); Log.d("xxx-->", "1 onDismissCancelled"); } });

第三种就是单纯的调用keyGuardManager,没什么好说的。如果条件允许,建议用原生的。

第四种:

没有了。通过跨进程通信或者什么通知方式告知SystemUi,让它帮忙开锁解锁。这种适用于定制android系统,比如电视机、车机等。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3