То, что я пытаюсь сделатьне удается получить доступ к SharedPreferences из моей службы
Привет, ребята.
У меня есть служба, которая имеет значение boolean для true или false, когда служба запускается или останавливается (start = true/stop = false) в SharedPreference. Теперь, когда я пытаюсь получить Boolean в моей деятельности, он всегда не находит его. Как я могу это решить ... Вот код для вас, парни.
Код
Methode в моей службы:
private void setStarted(boolean started) {
// SharedPreferences casten
mPrefs = this.getSharedPreferences(LOG_TAG, MODE_PRIVATE);
// Boolean in SharedPreferences hinzufügen
SharedPreferences.Editor editor = mPrefs.edit();
editor.clear().apply();
editor.putBoolean(PREF_STARTED, started).commit();
editor.commit();
//mPrefs.edit().putBoolean(PREF_STARTED, started).commit();
Log.d(LOG_TAG, "Variabel " + mPrefs.getBoolean(PREF_STARTED, false));
}
В моей деятельности
// mPrefs caten
mPrefs = this.getSharedPreferences(GPSService.LOG_TAG, MODE_PRIVATE);
// boolean holen ob service gestartet oder nicht
run = mPrefs.getBoolean(GPSService.PREF_STARTED, false);
Как получить логическое оттуда? Он всегда возвращает мне значение по умолчанию, которое я должен был дать в методе getBoolean.
Спасибо за помощь заранее
сафари
Как это должно выглядеть и почему я не могу использовать SharedPreferences? Пожалуйста, улучши свой подход: D thx! – safari
Вы можете использовать общие настройки как в действии, так и в сервисе, нет проблем. :) –
Итак, если я понял это право, я могу использовать эту строку «mPrefs = PreferenceManager.getDefaultSharedPreferences (this);» кода в обеих активах и вытащить значения, как я сделал это раньше? Right = – safari