Wie funktioniert eine Backup Arbeit?
-
19-09-2019 - |
Frage
Ich betrachte AndroidManifest Dateien und ich sehe Einträge für android:backupAgent
und nach der Dokumentation android:backupAgent
ist
Der Name der Klasse Implementierung Backup Backup zu verwalten und wiederherstellen von den Einstellungen der Anwendung auf externe Speicher.
Aber ich kann nicht eine BackupAgent
Schnittstelle oder eine andere Dokumentation. Kann jemand Punkt mich in die richtige Richtung?
Lösung
Backup API verfestigt noch nicht, so dass es eine versteckte Klasse ist. Sie können es auf Android überprüfen git , wo es diesen Beitrag:
/**
* This is the central interface between an application and Android's
* settings backup mechanism.
*
* @hide pending API solidification
*/
Andere Tipps
Alles, was ich bieten kann ist die Quellcode für android.app.BackupAgent
und die Quellcode für android.backup.BackupManager
.
BackupAgent
ist eine abstrakte Klasse und nach dem javadoc in der Quelle it „ist die zentrale Schnittstelle zwischen einer Anwendung und Einstellungen des Android Backup-Mechanismus.“ Es hat abstrakte onBackup()
und onRestore()
Methoden.
Es gibt auch BackupManager
. Die javadoc sagt „BackupManager
ist die Schnittstelle zu dem Backup-Service des Systems. Anwendungen einfach instantiate ein, und verwenden Sie dann diese Instanz mit der Backup-Infrastruktur zu kommunizieren.“ Es hat eine dataChanged()
Methode aufzurufen eine Sicherung und eine beginRestoreSession()
Methode zum Planen einer Wiederherstellung zu starten.
Nun, die interessanten Dinge im Code für BackupManager
sind:
*
* @hide pending API solidification
*/
und
/** @hide TODO: REMOVE THIS */
public static final boolean EVEN_THINK_ABOUT_DOING_RESTORE = true;
So scheint es, dass dies immer noch ein work in progress und dem EVEN_THINK_ABOUT_DOING_RESTORE
Membervariable ist eine einfache Möglichkeit zu deaktivieren Backup-Funktionalität. Meine Vermutung ist, dass es in der Produktion Android baut deaktiviert ist.