关于屏幕解锁的实例
16lz
2021-12-04
AndroidManifest.xml加两个权限
Android屏幕解锁:
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("");
keyguardLock.disableKeyguard();
Android 点亮屏幕:
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
WakeLock mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.SCREEN_DIM_WAKE_LOCK, "SimpleTimer");
mWakelock.acquire();
//...
mWakelock.release();//关闭
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission><uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
Android屏幕解锁:
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("");
keyguardLock.disableKeyguard();
Android 点亮屏幕:
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
WakeLock mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.SCREEN_DIM_WAKE_LOCK, "SimpleTimer");
mWakelock.acquire();
//...
mWakelock.release();//关闭
import android.app.KeyguardManager; import android.content.Context; import android.os.PowerManager; public class ScreenLockManager { private Context mContext; private KeyguardManager.KeyguardLock mKeyguardLock; private boolean isScreenLock; private PowerManager.WakeLock mWakelock; public ScreenLockManager(Context context) { mContext = context; } public void getUnlock() { // acquire wake lock PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); mWakelock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "SimpleTimer"); mWakelock.acquire(); // unlock screen KeyguardManager km = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE); mKeyguardLock = km.newKeyguardLock(Log.TAG); if (km.inKeyguardRestrictedInputMode()) { mKeyguardLock.disableKeyguard(); isScreenLock = true; } else { isScreenLock = false; } } public void releaseUnlock() { // release screen if (isScreenLock) { mKeyguardLock.reenableKeyguard(); isScreenLock = false; } // release wake lock if (mWakelock.isHeld()) { mWakelock.release(); } } ------------ public class Log { public static final String TAG = "SimpleTimer"; public static void v(String msg){ android.util.Log.v(TAG, msg); } public static void d(String msg){ android.util.Log.d(TAG, msg); } public static void e(String msg){ android.util.Log.e(TAG, msg); } public static void e(Exception e){ android.util.Log.e(TAG, e.getMessage(),e); } }
更多相关文章
- Android(安卓)副屏开发
- Android(安卓)屏幕滑动事件
- Android对话框的高级设置《二》设置对话框按钮的透明度和对话框
- android图片等比例缩放 填充屏幕
- android:screenOrientation 强制屏幕方向
- [Android(安卓)Pro] Android(安卓)fastboot刷机和获取Root权限
- 如何让Android屏幕只能上下翻转
- Android开发之ConstraintLayout布局
- Android(安卓)底层渲染 - 屏幕刷新机制源码分析