我已经阅读了文档和其他问题,但是我想我缺少了一些东西。我BackupAgent的onCreate
被调用,而不是它onBackup
,甚至当我打电话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备份服务注册了我的应用,但是并没有说我必须等待。我想念什么?
原来我以为我在其中运行的代码onCreate()
实际上是在构造函数中运行的。我什至没有onCreate。>。<
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句