Я пытался несколько опубликованных решений, чтобы попытаться отключить экран в Android, в том числе:Разрешить экран, чтобы выключить для полноэкранного андроид приложения
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
что приводит к отсутствию изменений.
WindowManager.LayoutParams param = getWindow().getAttributes();
param.screenBrightness = 0;
param.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
getWindow().setAttributes(param);
Какие результаты в слегка потускнели экран (на Android 4.2.1)
//Release all previously held WakeLocks
if (mWakeLock.isHeld()) {
mWakeLock.release();
}
//Then acquire a partial wake lock (which should allow the display to turn off)
PowerManager powerMan = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE);
mWakeLock = powerMan.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Partial WakeLock");
mWakeLock.acquire();
что приводит к отсутствию изменений.
И, наконец, незаконное
PowerManager powerMan = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE);
powerMan.goToSleep(1000);
, который явно не работает, потому что:
<uses-permission android:name="android.permission.DEVICE_POWER" />
не допускается (для несистемных приложений).
Я принимаю эти проблемы из-за того, что мое приложение android:theme="@style/FullscreenTheme"
.
Есть ли работоспособные решения, позволяющие полноэкранному приложению спать, не жертвуя прекрасной полноэкранной темой?
«Полноэкранный режим» не имеет никакого отношения к тому, чтобы держать экран включенным. Если вы не заставляете экран оставаться включенным, он отключается самостоятельно, основываясь на настройках пользователя. – CommonsWare
Экран установлен на тайм-аут 15 с, он не встает, а подключенный отключен, android: keepScreenOn = "true" нигде не может быть найден ни в одном из XML-документов. Я не уверен, что еще может быть проблемой:/ – Jono
На каком устройстве вы тестируете это? – CommonsWare