Как сделать SharedPreferences из PreferenceActivity установленным по умолчанию в Android?

Я создал PreferenceActivity на основе xml для PreferenceScreen. В xml вы можете назначать значения по умолчанию для разных настроек. Но они не сохраняются в моих SharedPreferences до того, как экран будет открыт и закрыт.

Проблема в том, что я хочу немедленно использовать настройки, сохраненные на этом экране (например, адрес сервера), и пользователю нужно будет только открыть его, если он хочет изменить значения по умолчанию.

Есть ли способ сохранить все предпочтения из XML-файла preferencescreen, не заставляя пользователя открывать и закрывать активность предпочтений?

Я знаю, что вы можете указать значение по умолчанию при получении предпочтений из SharedPreferences, но глупо поддерживать значения по умолчанию как в xml, так и в коде.

Solutions Collecting From Web of "Как сделать SharedPreferences из PreferenceActivity установленным по умолчанию в Android?"

Просто используйте этот код в классе Application .

 PreferenceManager.setDefaultValues(this, R.xml.preference, false); 

Он загрузит ваши предпочтения из XML, а последний параметр ( readAgain ) гарантирует, что пользовательские настройки не будут перезаписаны. Вам необходимо сохранить параметры по умолчанию в файле R.xml.preference.

Просмотрите PreferenceManager.setDefaultValues в API Android для дальнейшего изучения.