Ho implementato il "vecchio" l'attuazione GCM in cui il codice di esempio ha avuto il seguente:Escludi chiave sharedpreference specifico con il backup 6.0 Android Auto
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, "");
Con il nuovo sistema di backup in Android 6.0 si dice che si dovrebbe escludere questo chiave, ma la escludere docs formato: http://developer.android.com/training/backup/autosyncapi.html
in realtà non sembrano indicare come si può escludere uno sharedpreference tranne dicendo che:
sharedpref: specifica un oggetto SharedPreferences che restituisce il metodo getSharedPreferences().
Non c'è un getSharedPreferences() senza parametri per quanto ne so?
ho provato:
<?xml version="1.0" encoding="utf-8"?>
<full-backup-content>
<exclude domain="sharedpref" path="registration_id"/>
</full-backup-content>
Ma questo non sembra funzionare, naturalmente, visto che non ho indicato quale file sharedpreference dovrebbe escludere dalla. Qualcuno ha implementato con successo questo?
Voglio solo aggiungere che per me non era abbastanza. Ho dovuto aggiungere l'estensione ".xml" alla fine per farlo funzionare. Per esempio per escludere context.getSharedPreferences ("test", Context.MODE_PRIVATE), ho dovuto scrivere –
Esteam
@Esteam La stessa cosa fornita in [questo commento] (https://code.google.com/p/android-developer-preview/issues/detail?id=2569#c1), cerca di escludere il file di riferimento condiviso 'gcm' e aggiunge' gcm.xml' come percorso . – Mohammad