这个版本是只能点亮不能解锁的版本(注意很多句子都被注释掉了,那部分是用来实现解锁屏幕的),达到了预期的效果,特此纪念。
把代码贴出来:
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!