Come fa un BackupAgent funziona?
-
19-09-2019 - |
Domanda
sto guardando i file AndroidManifest e vedo le voci per android:backupAgent
e secondo la documentazione è android:backupAgent
Il nome della classe che implementa BackupAgent per gestire il backup e il ripristino delle impostazioni dell'applicazione di archiviazione esterna.
Ma non riesco a trovare un'interfaccia BackupAgent
o qualsiasi altra documentazione. Qualcuno mi può punto nella giusta direzione?
Soluzione
API di BackupAgent non è ancora solidificato, quindi è una classe di nascosto. è possibile controllare sul git di Android, dove c'è questo commento:
/**
* This is the central interface between an application and Android's
* settings backup mechanism.
*
* @hide pending API solidification
*/
Altri suggerimenti
Tutto ciò che posso offrire è la codice sorgente per android.app.BackupAgent
e la codice sorgente per android.backup.BackupManager
.
BackupAgent
è una classe astratta e secondo la Javadoc nella fonte che "è l'interfaccia centrale tra un impostazioni di Android dell'applicazione e meccanismo di backup." Ha onBackup()
e onRestore()
metodi astratti.
C'è anche BackupManager
. JavaDoc dice "BackupManager
è l'interfaccia al servizio di backup del sistema. Le applicazioni semplicemente istanziare uno, e quindi utilizzare tale istanza per comunicare con l'infrastruttura di backup." Ha un metodo di dataChanged()
da chiamare per pianificare un backup e un metodo beginRestoreSession()
per avviare un ripristino.
Ora, le cose interessanti nel codice per BackupManager
sono:
*
* @hide pending API solidification
*/
e
/** @hide TODO: REMOVE THIS */
public static final boolean EVEN_THINK_ABOUT_DOING_RESTORE = true;
Così sembra che questo è ancora un work in progress e la variabile membro EVEN_THINK_ABOUT_DOING_RESTORE
è un modo semplice per disattivare la funzionalità di backup. La mia ipotesi è che si è disabilitata nella produzione di Android costruisce.