一个点亮屏幕的service

这个版本是只能点亮不能解锁的版本(注意很多句子都被注释掉了,那部分是用来实现解锁屏幕的),达到了预期的效果,特此纪念。

把代码贴出来:

package com.larry.msglighter;

import android.app.KeyguardManager;
import android.app.KeyguardManager.KeyguardLock;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
import android.os.PowerManager;
import android.util.Log;

public class ScreenService extends Service 
{
	//声明键盘管理器
	KeyguardManager mKeyguardManager = null;    
	//声明键盘锁
	private KeyguardLock mKeyguardLock = null;  
	//声明电源管理器
	private PowerManager pm;
	private PowerManager.WakeLock wakeLock;
	
	@Override  
	public IBinder onBind(Intent arg0) 
	{  
		return null;  
	}  
	@Override  
	public void onCreate() 
	{  
		//获取电源的服务
		pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
		//获取系统服务
//		mKeyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
		super.onCreate();  
	}  
	@Override  
	public void onStart(Intent intent, int startId)
	{ 
		//点亮亮屏
		wakeLock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "My Tag");
		//上面这句构造函数实际上已经把屏幕锁给打开,但是没有点亮,如果这时候按一下锁屏键,不用解锁就可以进入桌面;而且只要进程不被杀死,一直是这个状态(屏幕会熄灭,但不会锁定)
		wakeLock.acquire(7000);//保持屏幕常亮(括号内是保持常亮的秒数,不填为无限长)
		//初始化键盘锁,可以锁定或解开键盘锁
//		mKeyguardLock = mKeyguardManager.newKeyguardLock("");  
		//禁用显示键盘锁定
//		mKeyguardLock.disableKeyguard();  //没有这句不亮
	}
	
	@Override
	public void onDestroy() 
	{
		wakeLock.release();//不是关掉屏幕,是关闭保持保持屏幕唤醒(释放屏幕常亮锁)
		super.onDestroy();
	}  
}

  为了测试,给移动发了无数次短信。。Sorry!

原文地址:https://www.cnblogs.com/larrylawrence/p/3422257.html