Общие настройки неактивны при выходе из приложения
Пожалуйста, помогите мне с моей проблемой. Я использую фрагмент настроек, чтобы пользователи могли оставить экран включенным или оставить экран тусклым.
Это хорошо работает, когда вы входите в настройки, но как только вы выходите из приложения, оно не работает при следующем запуске.
Забавно, если вы откроете экран настроек и нажмете назад, функция будет работать снова, пока вы не закроете приложение.
Хотелось бы узнать, как это исправить.
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;
}
});