Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
备份管理器&;Android 2.2中的备份代理_Android_Android Backup Service - Fatal编程技术网

备份管理器&;Android 2.2中的备份代理

备份管理器&;Android 2.2中的备份代理,android,android-backup-service,Android,Android Backup Service,我已经查看了文档和示例BackupRestore应用程序,并编写了自己的测试应用程序,实现了android:backupAgent。我扩展了BackupAgent类,因为我主要关心的是能够从数据库备份数据。我甚至不能让一个简单的概念验证应用程序使用这个功能 为了让事情变得异常简单,我在清单中将android:backupAgent声明为MyBackupAgent。然后,我创建了一个类MyBackupAgent.java,扩展了BackupAgent。然后,我在MyBackupAgent类中为on

我已经查看了文档和示例BackupRestore应用程序,并编写了自己的测试应用程序,实现了
android:backupAgent
。我扩展了
BackupAgent
类,因为我主要关心的是能够从数据库备份数据。我甚至不能让一个简单的概念验证应用程序使用这个功能

为了让事情变得异常简单,我在清单中将
android:backupAgent
声明为
MyBackupAgent
。然后,我创建了一个类MyBackupAgent.java,扩展了
BackupAgent
。然后,我在
MyBackupAgent
类中为
onBackup()
onRestore()
方法创建了覆盖,就像在示例和文档中一样。我在每个函数的开头添加了一个
Log.I()
调用,以便在调用函数时可以在LogCat中识别。同样,我在这两个上都设置了断点。然后我继续实现我的代码来备份数据库

我使用2.2w/googleapi创建了一个模拟器映像,甚至在Accounts&Sync下添加了一个gmail帐户。运行adb命令以启用
bmgr
、备份应用程序、运行备份、卸载应用程序、重新安装应用程序等。。。。我从未从
onBackup()
onRestore()
函数中的
log.I()
命令在日志文件中收到消息

我在运行2.2的Evo 4g上再次尝试。同样的结果。备份管理器似乎没有调用
MyBackupAgent
类中的
onBackup()
onRestore()
函数

我在日志中收到的唯一奇怪的消息是来自
BackupManagerService
的一条消息,声明“Backup pass but e=true p=false”,我相信这是对ADB命令的响应,以备份应用程序

有什么建议吗?假设
onBackup()
onRestore()
函数中的
Log.I()
语句会出现在LogCat中,这是错误的吗?

我还尝试使用“新”备份管理器服务,并始终收到以下错误消息:

12-01 09:58:54.420: WARN/BackupTransportService(9965): Unknown package in backup request: @pm@
12-01 09:58:54.450: WARN/BackupTransportService(9965): Not ready for backup request right now: [OperationScheduler: enabledState=false lastSuccess=2010-10-07/09:33:51 moratoriumSet=2010-12-01/09:53:32 moratorium=1970-01-01/01:00:00 trigger=1970-01-01/01:00:00]
12-01 09:58:54.450: WARN/PerformBackupThread(9965): Backup pass unsuccessful, restaging
有人知道这意味着什么吗

如果我使用以下命令将备份传输更改为本地版本

adb shell bmgr transport android/com.android.internal.backup.LocalTransport
一切正常。所以这不是我代码的问题,我想

问候

我还尝试使用“新”备份管理器服务,但始终收到以下错误消息:

12-01 09:58:54.420: WARN/BackupTransportService(9965): Unknown package in backup request: @pm@
12-01 09:58:54.450: WARN/BackupTransportService(9965): Not ready for backup request right now: [OperationScheduler: enabledState=false lastSuccess=2010-10-07/09:33:51 moratoriumSet=2010-12-01/09:53:32 moratorium=1970-01-01/01:00:00 trigger=1970-01-01/01:00:00]
12-01 09:58:54.450: WARN/PerformBackupThread(9965): Backup pass unsuccessful, restaging
有人知道这意味着什么吗

如果我使用以下命令将备份传输更改为本地版本

adb shell bmgr transport android/com.android.internal.backup.LocalTransport
一切正常。所以这不是我代码的问题,我想


问候

输出
Backup pass但e=true p=false
表示备份管理器已启用(
e=true
),但未设置(
p=false

它将仅在满足这两个条件时运行备份。因此,出于某种原因,没有在emulator映像上设置backupmanager,在深入研究代码之后,我注意到它应该在启动期间自动设置()


我刚刚创建了一个新的模拟器映像,它在那里工作没有问题。

输出
备份过程但e=true p=false
表示备份管理器已启用(
e=true
),但未设置(
p=false

它将仅在满足这两个条件时运行备份。因此,出于某种原因,没有在emulator映像上设置backupmanager,在深入研究代码之后,我注意到它应该在启动期间自动设置()


我刚刚创建了一个新的模拟器映像,它在那里工作没有问题。

检查您的手机设置。如果已禁用同步服务,则通过数据备份API进行备份将不起作用。

请检查手机的设置。如果禁用同步服务,则通过数据备份API进行的备份将不起作用