2015-10-29 10 views
6

I wprowadziły „starej” Wdrożenie GCM, gdzie przykładowy kod miał następujący:wykluczyć określone klucz sharedpreference z Androidem 6.0 Automatyczna kopia zapasowa

public static final String PROPERTY_REG_ID = "registration_id"; 
private SharedPreferences getGCMPreferences(Context context) { 
    return context.getSharedPreferences(SampleApp.class.getSimpleName(), 
      Context.MODE_PRIVATE); 
} 
... 
String registrationId = prefs.getString(PROPERTY_REG_ID, ""); 

Z nowym systemem tworzenia kopii zapasowych w systemie Android 6.0 jest napisane należy wykluczyć tego kluczowe jednak wykluczyć docs formacie: http://developer.android.com/training/backup/autosyncapi.html

naprawdę nie wydają się wskazywać, w jaki sposób można wykluczyć sharedpreference wyjątkiem mówiąc, że:

sharedpref: Określa obiekt SharedPreferences, który zwraca metoda getSharedPreferences().

Nie ma getSharedPreferences() bez parametrów do mojej wiedzy?

Próbowałem:

<?xml version="1.0" encoding="utf-8"?> 
<full-backup-content> 
    <exclude domain="sharedpref" path="registration_id"/> 
</full-backup-content> 

Ale to nie wydają się działać w sposób naturalny, ponieważ nie wykazały, który sharedpreference plik należy wykluczyć z. Ktoś z powodzeniem wdrożył to?

Odpowiedz

9

Wykluczenie dotyczy pliku wspólnych preferencji, a nie pojedynczego klucza w pliku.

(W przykładzie nazwa pliku dostał poprzez SampleApp.class.getSimpleName().)

Jak zaznacza komentarz, musisz podać pełną nazwę pliku, więc pamiętać, aby obejmować „.xml” rozszerzenie pliku, kiedy można umieścić nazwa w instrukcji wykluczania.

+3

Chcę tylko dodać, że dla mnie to nie wystarczyło. Musiałem dodać rozszerzenie ".xml" na końcu, aby działało. Na przykład, aby wykluczyć context.getSharedPreferences ("test", Context.MODE_PRIVATE), musiałem napisać Esteam

+0

@Adam To samo co podano w [this comment] (https://code.google.com/p/android-developer-preview/issues/detail?id=2569#c1), próbuje wykluczyć wspólny plik referencyjny "gcm" i dodał ścieżkę 'gcm.xml' jako ścieżkę . – Mohammad