getPreferences () ссылка на имя класса, используемое getSharedPreferences () - PullRequest
2 голосов
/ 10 марта 2012

Я пытаюсь использовать настройки в диалоге, но у меня возникли некоторые трудности. Остальная часть моего приложения просто использует диалоговое окно getPreferences() и, похоже, не имеет никаких проблем. Однако диалог не может вызвать getPreferences(), и по какой-то причине у меня нет доступа к базовому действию. Но я пришел к решению, из документации SDK , но мне нужен один быстрый ответ, чтобы получить его.

В SDK говорится, что «он просто вызывает базовый метод getSharedPreferences(String, int), передавая имя класса этого действия в качестве имени предпочтения». Если я могу получить имя класса деятельности. У меня есть доступ к контексту, который включает в себя getApplicationInfo(). Есть множество имен здесь. У меня вопрос: одно из имен, которое приходит из getApplicationInfo(), совпадает со значением, которое getPreferences() передает getSharedPreferences() в качестве имени класса?

Ответы [ 2 ]

1 голос
/ 15 ноября 2012

В итоге я использовал это в качестве имени приложения по всем направлениям:

getBaseContext().getApplicationInfo().packageName

Контекст почти повсеместно доступен, и это имя должно быть согласованным для всех классов в программе.

0 голосов
/ 05 марта 2014

Еще лучше, и теперь я использую их так, чтобы использовать это:

final SharedPreferences prefs = android.preference.PreferenceManager.getDefaultSharedPreferences(mContext);

Это дает правильные предпочтения, без необходимости делать что-либо сложное.

...