应用退出

时间:2017-02-25 18:43:25

标签: android sharedpreferences android-wake-lock preferencefragment powermanager

请帮我解决我的问题。我使用偏好片段让用户选择保持屏幕亮起或让屏幕变暗。

当您进入偏好设置时,此功能很有效,但退出应用后,它无法在下次启动时使用。

很有趣,如果您打开设置屏幕并单击后退,该功能将再次有效,直到退出应用程序。

很想知道如何解决这个问题。

private void setInitialState() {
    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity());
    pm = (PowerManager) getActivity().getSystemService(Context.POWER_SERVICE);
    if (sp.getBoolean(getString(R.string.keep_screen_on_key), false))  {
        startKeepScreenOn();
    } else {
        dsSwitch.setEnabled(false);
    }
}

ksoSwitch =  (SwitchPreference) 
findPreference(getString(R.string.keep_screen_on_key));
    dsSwitch = (SwitchPreference) findPreference(getString(R.string.dim_screen_key));
    setInitialState();

    ksoSwitch.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            if (newValue.equals(true)) {
                dsSwitch.setEnabled(true);
                startKeepScreenOn();
            }
            else {
                dsSwitch.setEnabled(false);
                wl.release();
                wl = null;
            }
            return true;
        }
    });
    dsSwitch.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            wl.release();
            startKeepScreenOn();
            return true;
        }
    });

0 个答案:

没有答案