安卓 点亮屏幕、熄灭屏幕、键盘锁屏、键盘解锁

package com.sc.screen;

import android.annotation.SuppressLint;
import android.app.KeyguardManager;
import android.app.KeyguardManager.KeyguardLock;
import android.content.Context;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;


// 点亮屏幕、熄灭屏幕  所需权限
// <uses-permission android:name="android.permission.WAKE_LOCK" />

// 键盘锁屏、解锁屏幕 所需权限
// <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

public class ScreenTool
{	
	private static WakeLock wl = null;
	
	/** 获取WakeLock对象 */
	private static void getWakeLock(Context context)
	{
		PowerManager pm=(PowerManager) context.getSystemService(Context.POWER_SERVICE);	//获取电源管理器对象
		 
        //获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是调试用的Tag
        wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");
	}
	
	
	/** 点亮屏幕,验证有效 */
	@SuppressLint("Wakelock")
	@SuppressWarnings("deprecation")
	public static void lightOn(Context context)
	{
		getWakeLock(context);

        //点亮屏幕
        wl.acquire();
	}
	
	/** 熄灭屏幕 */
	public static void lightOff(Context context)
	{
		if(wl==null) getWakeLock(context);
		if(wl != null) wl.release();
	}
	
	
	@SuppressWarnings("deprecation")
	private static KeyguardLock kl = null;
	
	/** 获取KeyLock对象 */
	@SuppressWarnings("deprecation")
	private static void getKeyLock(Context context)
	{
		//得到键盘锁管理器对象
		KeyguardManager km= (KeyguardManager)context.getSystemService(Context.KEYGUARD_SERVICE);
        kl = km.newKeyguardLock("unLock");
	}
	
	
	/** 键盘锁屏 */
	@SuppressWarnings("deprecation")
	public static void keyLock(Context context)
	{
		getKeyLock(context);

        kl.reenableKeyguard();
	}
	
	/** 键盘解锁  */
	@SuppressWarnings("deprecation")
	public static void keyLockOff(Context context)
	{
		if(kl==null) getKeyLock(context);
		if(kl != null) kl.disableKeyguard();
	}
	
}

示例应用:SensorExample: 安卓手机应用,摇一摇,点亮屏幕(手机电源键损坏,检测摇一摇,自动点亮屏幕)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值