Ответ 1
Вы должны использовать Контекст следующим образом:
Context ctx = getApplicationContext();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);
Я хочу получить доступ к SharedPreference в моем фоновом сервисе, который использовал PreferenceManager.getDefaultSharedPreferences()
, но он дает nullpoint Exception
Спасибо
Вы должны использовать Контекст следующим образом:
Context ctx = getApplicationContext();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);
попробуйте следующее:
SharedPreference pref = getSharedPreferences(PrefName, 0);
Если вы создали SharedPreferences, например:
private static final String PREFS_NAME = "UserData";
private static final String PREFS_VALUE1 = "value1";
затем используйте это:
SharedPreferences preferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
value1 = preferences.getString(PREFS_VALUE1, "default_no");