2
我嘗試了好幾種解決方案發布,試圖關閉屏幕在Android,包括:讓屏幕關閉全屏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秒超時,在插入電源關閉時保持清醒狀態,並且在任何XML文檔中均無法找到android:keepScreenOn =「true」。 我不確定還有什麼問題:/ – Jono
你在測試什麼設備? – CommonsWare