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