我已经阅读了文档和其他问题,但我想我错过了一些东西。即使我从命令行调用onCreate
然后调用onBackup
,我的BackupAgent adb bmgr backup <package>
也会被调用,但不会调用adb shell bmgr run
。我错过了等式的哪一部分?
MyBackupAgent类:
public class MyBackupAgent extends BackupAgentHelper {
public MyBackupAgent() {
Log.d("GradeTracker.MyBackupAgent", "onCreate called");
String str = DBAdapter.DATABASE_NAME;
FileBackupHelper myDb = new FileBackupHelper(this, "../databases/" + str);
addHelper(DBAdapter.DATABASE_NAME , myDb);
}
@Override
public void onBackup(ParcelFileDescriptor oldState, BackupDataOutput data,
ParcelFileDescriptor newState) throws IOException {
Log.d("GradeTracker.MyBackupAgent", "onBackup called");
synchronized (DBAdapter.dbBackupLockObject) {
super.onBackup(oldState, data, newState);
}
}
@Override
public void onRestore(BackupDataInput data, int appVersionCode,
ParcelFileDescriptor newState) throws IOException {
Log.d("GradeTracker.MyBackupAgent", "onRestore called");
synchronized (DBAdapter.dbBackupLockObject) {
super.onRestore(data, appVersionCode, newState);
}
}
}
在我的清单中:
<application
android:allowBackup="true"
android:backupAgent="MyBackupAgent"
...
<meta-data android:name="com.google.android.backup.api_key"
android:value="<my_key>" />
我几小时前才用Android备份服务注册我的应用程序,但它没有说我必须等待。我错过了什么?
答案 0 :(得分:0)
结果我认为我在onCreate()
中运行的代码实际上是在构造函数中运行的。我甚至没有onCreate。 &GT;。&LT;
答案 1 :(得分:0)
似乎BackupAgent中的日志条目未显示在日志中。但是,您可以创建断点,并在调试时在onBackup()
中停止执行。