2014-11-13 1 views
1

설명서 및 기타 질문을 읽었지만 무언가를 놓친 것 같습니다. 내 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>" /> 

기다림. 내가 뭘 놓치고 있니?

답변

0

코드가 실행되고 있다고 생각합니다. onCreate() 실제로 생성자에서 실행되고있었습니다. 나는 onCreate조차 갖고 있지 않습니다. >. <

0

BackupAgent의 로그 항목이 로그에 나타나지 않는 것 같습니다. 그러나 중단 점을 만들 수 있으며 디버깅 중에 onBackup()에서 실행이 중지됩니다.