Какое имя файла используется в общих настройках по умолчанию?


Служба резервного копирования Android требует имя файла для резервного копирования общих настроек:

public static final String PREFS = "PrefFile";    
SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, PREFS);

Понятно, что использовать, если имя файла задано при создании предпочтений типа

public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);

Но я использую общие настройки по умолчанию:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);

Что я должен передать как PREFS Значение SharedPreferencesBackupHelper?

3 10

3 ответа:

private static String getDefaultSharedPreferencesName(Context context) {
    return context.getPackageName() + "_preferences";
}

Смотрите имя вашего пакета в AndroidManifest.xml

Из исходного кода имя пакета основано на контексте, который вы передаете.

private static String getDefaultSharedPreferencesName(Context context) {
    return context.getPackageName() + "_preferences";
}

Имя файла предпочтений по умолчанию - это имя класса вызывающего действия.

Https://developer.android.com/reference/android/app/Activity.html#getPreferences(int)