我添加到我的设置首选项,一个Switch首选项,如果为true,我想保持屏幕打开,如果它是假的回到手机的默认设置,我使用了这个,但它无法正常工作。
if (sharedPreference.getBoolean("keep", true)) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}else{
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
答案 0 :(得分:0)
String TAG_WAKELOCK = "com.example.YourActivity.WAKE_LOCK_TAG";
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, TAG);
在onPause();
下wakelock.release();
在onResume();
下wakelock.acquire();
确保在切换首选项中添加了默认值
<SwitchPreference
android:key="keep"
android:title="@string/label"
android:defaultValue="true" />