Общие настройки неактивны при выходе из приложения

Пожалуйста, помогите мне с моей проблемой. Я использую фрагмент настроек, чтобы пользователи могли оставить экран включенным или оставить экран тусклым.

Это хорошо работает, когда вы входите в настройки, но как только вы выходите из приложения, оно не работает при следующем запуске.

Забавно, если вы откроете экран настроек и нажмете назад, функция будет работать снова, пока вы не закроете приложение.

Хотелось бы узнать, как это исправить.

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 ответов

Другие вопросы по тегам