Java 使用开关首选项保持屏幕打开

Java 使用开关首选项保持屏幕打开,java,android,Java,Android,我添加了我的设置首选项,一个开关首选项,如果为真,我想保持屏幕打开,如果为假,返回到我使用的手机的默认设置,但它不能正常工作 if (sharedPreference.getBoolean("keep", true)) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); }else{ getWindow().clearFlags(WindowMa

我添加了我的设置首选项,一个开关首选项,如果为真,我想保持屏幕打开,如果为假,返回到我使用的手机的默认设置,但它不能正常工作

if (sharedPreference.getBoolean("keep", true)) {
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

        }else{

        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }
在onPause()下

在onResume()下

确保已在开关首选项中添加默认值

<SwitchPreference
    android:key="keep"
    android:title="@string/label"
    android:defaultValue="true" />

wakelock.release();
wakelock.acquire();
<SwitchPreference
    android:key="keep"
    android:title="@string/label"
    android:defaultValue="true" />