使用Switch首选项保持屏幕打开

时间:2017-03-05 15:52:46

标签: java android

我添加到我的设置首选项,一个Switch首选项,如果为true,我想保持屏幕打开,如果它是假的回到手机的默认设置,我使用了这个,但它无法正常工作。

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

        }else{

        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }

1 个答案:

答案 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" />