9

Android Backup Service requires einen Dateinamen zu sichern Einstellungen geteilt:Welcher Dateiname wird standardmäßig in den gemeinsamen Einstellungen verwendet?

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

Es ist klar, was Dateinamen zu verwenden, wenn während Vorlieben Schöpfung wie

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

Aber ich benutze Standard gemeinsamen Präferenzen angegeben:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); 

Was soll ich als PREFS Wert an SharedPreferencesBackupHelper übergeben?

Antwort

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

finden Sie in Paketnamen in AndroidManifest.xml

+0

Ist es sicher fest codierten Wert '_preferences' zu benutzen? Wird es auf allen Android-Geräten richtig funktionieren? –

+0

Es ist nicht garantiert. Also ich denke, es ist besser, SP mit definierten Namen – Dmitry

+0

Danke zu verwenden. Gibt es eine Methode, um den Dateinamen aus den freigegebenen Einstellungen abzurufen? –

3

Vom source code, Der Package auf den Kontext basiert, die Sie in übergeben.

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

Leider ist die 'getDefaultSharedPreferencesName' Methode privat. Gibt es eine öffentliche Methode, um es zu bekommen? –

+0

Könnten Sie diese Methode nicht einfach zu Ihrem Code hinzufügen und so verwenden? – MrEngineer13

+0

Wie ich im Kommentar zu einer anderen Antwort erwähnt habe, bin ich mir nicht sicher, ob dies der richtige Weg ist, um es fest zu codieren - was wird passieren, wenn Google es in der nächsten Android-Version ändert? –

-1

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences (dies);

Verwandte Themen