public void onSensorChanged(SensorEvent event) {
// values的第一个就是光感亮度的值
float values = event.values[0];
// 设置标志位
boolean temp = true;
// 如果光感值小于等于3则锁屏
if (values <= 3) {
Toast.makeText(MainActivity.this, "锁屏", Toast.LENGTH_LONG)
.show();
// systemLock();
temp = false;
}
// 如果temp为假并且光感值小于等于三则唤醒屏幕
if (!temp && values <= 3) {
// wakeUpAndUnlock();
Toast.makeText(MainActivity.this, "唤醒屏幕", Toast.LENGTH_LONG)
.show();
temp = true;
}
lightLevel.setText("当前的光感值为:" + values + "lux");
}
@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {
// TODO Auto-generated method stub
}
/**************************我是分割线****************************/
// 锁屏
private void systemLock() {
if (this.policyManager.isAdminActive(this.componentName)) {
Window localWindow = getWindow();
WindowManager.LayoutParams localLayoutParams = localWindow
.getAttributes();
localLayoutParams.screenBrightness = 0.05F;
localWindow.setAttributes(localLayoutParams);
this.policyManager.lockNow();
}
finish();
}
// 唤醒屏幕
代码如上 1.差一个唤醒屏幕的方法 2.onSensorChanged(SensorEvent event)两个if都会执行 3.如何利用services让程序后台运行?