2015-06-12 2 views
20

Was bedeutet diese Lint Warnung bedeuten:Was bedeutet es: Soll 'android: fullBackupContent' explizit gesetzt werden, um eine Sicherung der GCM-gerätespezifischen regID zu vermeiden?

Sollte 'android: fullBackupContent' explizit gesetzt die spezifische RegID GCM Gerät Sicherung zu vermeiden?

Ich habe gegoogelt, aber habe noch nichts gefunden.

+0

Interessanterweise erscheint diese Warnung [auch wenn allowBackup falsch ist] (http://stackoverflow.com/q/31767619/145173). –

Antwort

15

Teil der disturbing"auto backup for apps" ist die Möglichkeit zu steuern, welche Dateien gesichert werden, über android:fullBackupContent. Dieses Attribut zeigt auf eine XML-Ressource (z. B. @xml/backup_rulez), die entweder eine Whitelist oder eine Blacklist beschreibt, die steuert, was gesichert wird. Die Warnungswarnung weist Sie darauf hin, dass die GCM-Registrierungs-ID nicht gesichert wird, da dies pro Gerät geschieht. Sie müsste daher erneut generiert werden, wenn die Daten Ihrer App von der Sicherung auf eine neue wiederhergestellt werden Gerät. Persönlich weiß ich von meinem Kopf aus nicht, wo GCM diese Registrierungs-ID speichert.

4

CommonsWare ist korrekt. GCM speichert dieses Regid jedoch nicht für Sie - das GCM quickstarter, das verwendet wurde, um zu empfehlen (es wurde seither aktualisiert), dass Sie es selbst in einer gemeinsamen Prefs-Datei speichern. Die Lint-Regel erkennt, dass Sie einen Empfänger für GCM deklariert haben, und nimmt daher an, dass Sie das regid irgendwo zwischenspeichern. Da Sie in Ihrem Manifest kein fullBackupContent-Flag deklariert haben, werden Sie gewarnt, dass Ihre App wahrscheinlich die Wiederherstellung durchbrechen wird. Sie die fullBackupContent verwenden, um auszuschließen oder zu schließen, was auch immer Daten, die Sie möchten nicht, das Gerät verlassen und auf einem anderen Gerät (GCM-Instanz-ID-Token ist ein Beispiel)

mehr Details here

2

Lassen Sie mich genauer sein wieder hergestellt werden hier, in Bezug auf die Lint-Warnung.

Wie in der Known Issues mit dem automatischen Backup-Service erwähnt :,

Sichern der Registrierungs-ID zurückgegeben, die Google Cloud Messaging Registrierung können Push-Benachrichtigungen für die restaurierte App

So brechen wird empfohlen, die gcm-Registrierungs-ID aus dem Satz gesicherter Dateien auszuschließen. Und fragen Sie die API nach einer neuen Registrierungs-ID ab, wenn die App wiederhergestellt wird.

Verwandte Themen