Como funciona um BackupAgent?
-
19-09-2019 - |
Pergunta
Eu estou olhando para arquivos AndroidManifest e vejo entradas para android:backupAgent
e de acordo com o android:backupAgent
documentação é
O nome da classe que implementa BackupAgent para gerenciar backup e restauração de configurações do aplicativo de armazenamento externo.
Mas eu não consigo encontrar uma interface BackupAgent
ou qualquer outra documentação. Alguém pode me apontar na direção certa?
Solução
API do BackupAgent não se solidificou ainda, por isso é uma classe escondida. Você pode verificá-la no Android, do git , onde existe este comentário:
/**
* This is the central interface between an application and Android's
* settings backup mechanism.
*
* @hide pending API solidification
*/
Outras dicas
Tudo que eu posso oferecer é o código fonte para android.app.BackupAgent
e código fonte para android.backup.BackupManager
.
BackupAgent
é uma classe abstrata e de acordo com o javadoc na fonte "é a interface central entre um aplicativo e as configurações do Android mecanismo de backup." Tem onBackup()
e onRestore()
métodos abstratos.
Há também BackupManager
. O javadoc diz "BackupManager
é a interface para o serviço de backup do sistema. Applications Simplesmente um instanciar, e depois usar essa instância para se comunicar com a infra-estrutura de backup." Tem um método dataChanged()
chamar para agendar um backup e um método beginRestoreSession()
para iniciar uma restauração.
Agora, as coisas interessantes no código para BackupManager
são:
*
* @hide pending API solidification
*/
e
/** @hide TODO: REMOVE THIS */
public static final boolean EVEN_THINK_ABOUT_DOING_RESTORE = true;
Assim, parece que este ainda é um trabalho em andamento e a variável de membro EVEN_THINK_ABOUT_DOING_RESTORE
é uma maneira fácil de funcionalidade de backup desativar. Meu palpite é que ele está desativado na produção Android constrói.