설명서 및 기타 질문을 읽었지만 무언가를 놓친 것 같습니다. 내 BackupAgent의 onCreate
이 호출되고 있지만 onBackup
이 아니며 명령 줄에서 adb bmgr backup <package>
과 adb shell bmgr run
을 호출하더라도 마찬가지입니다. 방정식의 어느 부분을 놓치고 있습니까?BackupAgentHelper에 대한 onBackup() 메소드가 호출되지 않는 이유는 무엇입니까?
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>" />
기다림. 내가 뭘 놓치고 있니?