Как получить значение SharedPreference из Activity в BroadcastReceiver? - PullRequest
0 голосов
/ 10 января 2020

В настоящее время я сохраняю значение в SharedPreference в Main Activity:

final SharedPreferences prefs =getSharedPreferences(
            APP_CONSTANT, MODE_PRIVATE);
final String someKey = "com.APP.NAME.myApp";        
Date date = Calendar.getInstance().getTime();         
prefs.edit().putString(someKey , date.toString());            
prefs.edit().apply();

Теперь, когда я запускаю функцию onRecieve BroadcastReceiver и пытаюсь получить значение someKey из SharedPreferences, оно всегда равно нулю.

final SharedPreferences prefs =getSharedPreferences(
          APP_CONSTANT, MODE_PRIVATE);
final String someKey = "com.APP.NAME.myApp";       
final String someKeyValue = prefs.getString(someKey, null);

someKeyValue всегда имеет значение null. Посоветуйте, пожалуйста, как мне получить к нему доступ в BroadcastReceiver из Activity.

Я также пытался использовать getApplicationContext в BroadcastReceiver, но он не работает в BroadcastReceiver. Я понимаю, что и Activity, и BroadcastReceiver имеют разные контексты, так как я могу поделиться значениями sharedpreference в обоих из них. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 10 января 2020

Я забыл использовать .apply () после конца строки

       prefs.edit().putString(someKey , date.toString()).apply();

После этого значения больше не равны нулю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...