前一段有一个用PC控制android端平板上一个应用程序的需求,但是平板肯定会锁屏,于是就需要接收到PC端的消息后点亮屏幕以及解锁 下面是代码
package com.pccontrol.android;
import android.app.Activity;
import android.app.KeyguardManager;
import android.app.KeyguardManager.KeyguardLock;
import android.content.Context;
import android.os.Bundle;
import android.os.PowerManager;
import android.util.Log;
import android.widget.TextView;
public class lightonActivity extends Activity {
// 声明键盘管理器
KeyguardManager mKeyguardManager = null;
// 声明键盘锁
private KeyguardLock mKeyguardLock = null;
// 声明电源管理器
private PowerManager pm;
private PowerManager.WakeLock wakeLock;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
lightOn();//点亮屏幕 并解锁
TextView t = new TextView(getApplicationContext());
t.setText("已经成功点亮了哦亲!!!");
t.setTextSize(20);
setContentView(t);
}
// 点亮的方法
private void lightOn() {
// 获取电源的服务
pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
// 获取键盘系统服务
mKeyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
// 点亮亮屏
wakeLock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
wakeLock.acquire();
Log.i("Log : ", "------>mKeyguardLock");
// 初始化键盘锁,可以锁定或解开键盘锁
mKeyguardLock = mKeyguardManager.newKeyguardLock("");
// 禁用显示键盘锁定
mKeyguardLock.disableKeyguard();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
wakeLock.release();
super.onPause();
}
}
需要说明的是wakeLock一定要在不用的时候释放,例如我在onPause()里面进行了释放wakeLock.release();要不然会出现问题