系统中有一个BackupManagerService服务,这个主要负责把应用程序的数据up到服务器上,当某一天用户需要恢复数据时,再从服务器上把用户的数据down下来交给各个应用。BackupManagerService有一个设定的up周期。哪个APK有数据要进行上面这样的backup/restore服务的话,只需要在AndroidManifest.xml的application标签中增加这个属性:android:backupAgent="DictionaryBackupAgent"。属性的值是实现功能的具体类。比如UserDictionaryProvider的DictionaryBackupAgent,LatinIME的LatinIMEBackupAgent。这样,当系统的BackupManagerService到了设定的周期,要进行数据同步时,就会调用
BackupAgent的
子类中的接口。
备份已经做完了 现在来看看结果
与BackupManagerService相关的AndroidManifest.xml属性还有android:allowClearUserData,android:killAfterRestore,等。
Android提供backupmanager类如何使用
引用 :http://www.apkbus.com/android-15736-1-1.html
这个是一种备份服务。研究了一下,先来看看如何来操作才能够backup
default backup function is disabled
before you do the actions as follow. you should confirm
Settings.Secure.BACKUP_ENABLED and Settings.Secure.BACKUP_PROVISIONED was set 1 in database
bash-4.0#
bash-4.0# bmgr enable true –enable backup
Backup Manager now enabled
bash-4.0# bmgr transport android/com.android.internal.backup.LocalTransport
Selected transport android/com.android.internal.backup.LocalTransport (formerly android/com.android.internal.backup.LocalTransport)
bash-4.0# bmgr backup com.android.browser
bash-4.0# bmgr run
bash-4.0#
备份已经做完了 现在来看看结果
bash-4.0# cd /data/backup/
bash-4.0# ls
com.android.internal.backup.LocalTransport
processed
pending
bash-4.0# cat processed
$com.android.providers.userdictionarycom.android.inputmethod.latinandroidcom.android.providers.settingscom.android.browsercom.android.settingsbash-4.0#
bash-4.0#
bash-4.0# cd pending/
bash-4.0# ls
journal46314.tmp
bash-4.0# cat journal46314.tmp
com.android.providers.settingsbash-4.0
bash-4.0#
bash-4.0# cd ..
bash-4.0# ls
com.android.internal.backup.LocalTransport
processed
pending
bash-4.0# cd com.android.internal.backup.LocalTransport/
bash-4.0# ls
com.android.providers.settings
android
@pm@
com.android.browser
com.android.providers.userdictionary
com.android.inputmethod.latin
com.android.settings
bash-4.0# cat com.android.browser
bash-4.0#
bash-4.0# cd /cache/backup