Comment fonctionne un BackupAgent?
-
19-09-2019 - |
Question
Je regarde les fichiers AndroidManifest et je vois des entrées pour android:backupAgent
et selon la documentation android:backupAgent
est
Le nom de la classe implémentant BackupAgent pour gérer la sauvegarde et la restauration des paramètres de l'application de stockage externe.
Mais je ne peux pas trouver une interface BackupAgent
ou tout autre document. Quelqu'un peut-il me diriger dans la bonne direction?
La solution
API de BackupAgent est pas encore solidifiée, il est donc une classe cachée. Vous pouvez le vérifier sur git Android , où il y a ce commentaire:
/**
* This is the central interface between an application and Android's
* settings backup mechanism.
*
* @hide pending API solidification
*/
Autres conseils
Tout ce que je peux offrir est le code source pour android.app.BackupAgent
et code source pour android.backup.BackupManager
.
BackupAgent
est une classe abstraite et selon la javadoc dans la source, il « est l'interface centrale entre une application et les paramètres d'Android mécanisme de sauvegarde. » Il a des méthodes abstraites onBackup()
et onRestore()
.
Il y a aussi BackupManager
. Le javadoc dit « BackupManager
est l'interface au service de sauvegarde du système. Des applications simplement instancier un, puis utiliser cette instance pour communiquer avec l'infrastructure de sauvegarde. » Il a une méthode dataChanged()
appeler pour planifier une sauvegarde et une méthode de beginRestoreSession()
pour commencer 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 de EVEN_THINK_ABOUT_DOING_RESTORE
est un moyen facile de désactiver la fonctionnalité de sauvegarde. Je suppose qu'il est désactivé dans la production construit Android.