android 唤醒和解锁屏幕

news/2024/11/17 2:43:24/
/*** 唤醒手机屏幕并解锁*/public void wakeUpAndUnlock() {// 获取电源管理器对象PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE);boolean screenOn = pm.isScreenOn();Log.d("WakeScreen0","screenOn: " + screenOn);if (!screenOn) {// 获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag@SuppressLint("InvalidWakeLockTag") PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");wl.acquire(10000); // 点亮屏幕wl.release(); // 释放}// 屏幕解锁KeyguardManager keyguardManager = (KeyguardManager) getApplicationContext().getSystemService(KEYGUARD_SERVICE);KeyguardManager.KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("unLock");// 屏幕锁定
//        keyguardLock.reenableKeyguard();keyguardLock.disableKeyguard(); // 解锁unLockScreen();}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);}

 

/*** 唤醒手机屏幕并解锁*/public void wakeUpAndUnlock(Activity activity) {Window win = activity.getWindow();win.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);PowerManager pm = (PowerManager) activity.getSystemService(POWER_SERVICE);@SuppressLint("InvalidWakeLockTag")PowerManager.WakeLock wakelock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK| PowerManager.ACQUIRE_CAUSES_WAKEUP, "xx");wakelock.acquire();wakelock.release();KeyguardManager keyguardManager = (KeyguardManager) activity.getApplicationContext().getSystemService(KEYGUARD_SERVICE);if (mHomeActivity == null) return;keyguardManager.requestDismissKeyguard(mHomeActivity, new KeyguardManager.KeyguardDismissCallback() {@Overridepublic void onDismissError() {super.onDismissError();Log.d("xxx-->", "1 onDismissError");}@Overridepublic void onDismissSucceeded() {super.onDismissSucceeded();Log.d("xxx-->", "1 onDismissSucceeded");}@Overridepublic void onDismissCancelled() {super.onDismissCancelled();Log.d("xxx-->", "1 onDismissCancelled");}});if (mRemoteActivity == null) return;keyguardManager.requestDismissKeyguard(mRemoteActivity, new KeyguardManager.KeyguardDismissCallback() {@Overridepublic void onDismissError() {super.onDismissError();Log.d("xxx-->", "2 onDismissError");}@Overridepublic void onDismissSucceeded() {super.onDismissSucceeded();Log.d("xxx-->", "2 onDismissSucceeded");}@Overridepublic void onDismissCancelled() {super.onDismissCancelled();Log.d("xxx-->", "2 onDismissCancelled");}});}

 

转载: 

https://blog.csdn.net/xinpengfei521/article/details/73065769/

http://www.voidcn.com/article/p-qvvwwkxf-hy.html

 


http://www.ppmy.cn/news/692913.html

相关文章

android 唤醒屏幕并解锁

public static void wakeUpAndUnlock(Context context){KeyguardManager km (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);KeyguardManager.KeyguardLock kl km.newKeyguardLock("unLock");//解锁kl.disableKeyguard();//获取电源管理器对…

给定一组数据样本,计算:【样本的平均值】, 【样本的标准差】, 【样本的变异系数】,【样本的标准误差】

一、指标含义 样本的平均值:指样本中所有数据的总和除以样本大小,是样本的中心趋势的度量。平均值常用于描述数据的集中程度,具有良好的代表性和易于计算的优点。 样本的标准差:指样本中每个数据与平均值的偏差的平方和的平均值的…

Android 按power键唤醒屏幕流程

http://blog.csdn.net/shadow_dance/article/details/8070252 屏幕唤醒流程: /framework/base/policy下面KeyguardViewMediator.java里面 public void pokeWakelock(int holdMs) { synchronized (this) { if (DBG_WAKE) Log.d(TAG, "pok…

TP 双击唤醒

折腾许久,终于调试出一个比较满意的版本,采用的许多方法跟上一篇不一样,在这里重新整理。 注册和上报键值这里就不在累赘了,本篇博客主要要解决以下bug: 1.系统进入睡眠状态后,如何通过tp唤醒系统。 2.如何…

双击唤醒的原理:

双击唤醒的原理: 说来也非常简单,事实上手机的显示屏和触摸屏实际上是两个单独工作的组件,只不过触摸屏是接近透明的,贴在显示屏上面用户看不出来。触摸屏识别手势信号,传输给处理器,显示屏只是负责显示相应的图像。传…

touch的双击唤醒如何实现

现在很多手机具有双击唤醒屏幕功能,那么这个功能是如何实现的呢,在ft5x06这款touchscreen上的实现方式如下 首先在touch的driver里会针对屏幕关闭时做特殊处理 在static irqreturn_t ftxxxx_ts_interrupt(int irq, void *dev_id) { u8 state; i…

GT9XX触摸屏双击唤醒功能分析

一、触摸屏唤醒方式 1.在屏幕上画其中26个字母中的一个来唤醒屏幕:例如:a/b/c/d…. 2. 在屏幕上画线唤醒屏幕:”上/下/左/右” 3.双击屏幕唤醒:在屏幕上双击两下。 二、触摸屏唤醒的原理 其实唤醒屏幕的原理很简单&#xff0…

android 双击点亮屏幕,手机双击点亮屏幕是怎么实现的

手机越来越智能,当然这取决于科技的进步与发展,使用安卓的用户可能注意到一个双击唤醒手机的功能,这个非常方便,本文就来介绍一下手机双击点亮屏幕是怎么回事,是如何实现的! 息屏操作的工作原理 息屏双击唤…