Я искал последние дни, и ни один из ответов на поставленные вопросы мне не помог, и я натыкаюсь на голову чем-то, что, возможно, легко решить .... Я хочу работать с датчиком приближения и что я делаю, так это то, что если я приложу палец к датчику, экран выключится, а если я уберу палец, он снова включится! Я успешно выключаю экран и получаю сообщение "Log.i (" информация "," пытаюсь включить! ")", Когда убираю палец, но почему-то экран не включается ... Я пробовал с wakelock (прокомментировал) и с флагами безуспешно! Если я уберу палец, подсветка на клавиатуре загорится, но экран не будет ... Если я нажму кнопку питания два раза, экран включится успешно! Может ли кто-нибудь помочь мне с этим? :(
@Override
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType()==Sensor.TYPE_PROXIMITY){
ProximityReading.setText("\nProximity Sensor Reading:" + String.valueOf(event.values[0]));
}
if(event.values[0] == 0) {
WindowManager.LayoutParams params = getWindow().getAttributes();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
params.screenBrightness = 0f;
getWindow().setAttributes(params);
} else {
WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = 1f;
getWindow().setAttributes(params);
/*powermanager = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = powermanager.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP, "TAG");
wakeLock.acquire();
Log.i("info", "trying to turn on!");
}
}