2010-01-08 19 views
3

Je regarde les fichiers AndroidManifest et je vois des entrées pour android:backupAgent et selon la documentation android:backupAgent estComment fonctionne un BackupAgent?

Le nom de la classe implémentant BackupAgent pour gérer sauvegarde et de restauration des paramètres de l'application de stockage externe.

Mais je ne trouve pas d'interface BackupAgent ou toute autre documentation. Quelqu'un peut me diriger dans la bonne direction?

Répondre

2

L'API de BackupAgent n'est pas encore solidifiée, c'est donc une classe masquée. You can check it out on Android's git, où il y a ce commentaire:

/** 
* This is the central interface between an application and Android's 
* settings backup mechanism. 
* 
* @hide pending API solidification 
*/ 
+0

On dirait que ça va être pratique! – CaseyB

+0

Liens semble être brisé maintenant, pouvez-vous s'il vous plaît le réparer ... Merci – Android

2

Tout ce que je peux offrir est le source code for android.app.BackupAgent et le source code for android.backup.BackupManager.

BackupAgent est une classe abstraite et selon le javadoc dans la source, il "est l'interface centrale entre une application et le mécanisme de sauvegarde des paramètres d'Android." Il a des méthodes abstraites onBackup() et onRestore().

Il existe également BackupManager. Le javadoc indique que «BackupManager est l'interface avec le service de sauvegarde du système: les applications en instancient simplement une, puis utilisent cette instance pour communiquer avec l'infrastructure de sauvegarde». Il a une méthode dataChanged() à appeler pour planifier une sauvegarde et une méthode beginRestoreSession() pour démarrer une restauration.

Maintenant, les choses intéressantes dans le code BackupManager sont:

* 
* @hide pending API solidification 
*/ 

et:

/** @hide TODO: REMOVE THIS */ 
public static final boolean EVEN_THINK_ABOUT_DOING_RESTORE = true; 

Il semble donc que cela est encore un travail en cours et la variable membre EVEN_THINK_ABOUT_DOING_RESTORE est un moyen facile de désactiver la fonctionnalité de sauvegarde. Ma conjecture est qu'elle est désactivée dans les versions Android de production.