バックアップとリカバリを実装したいのですが、onBackup()
メソッドが実行されません。マニフェストファイルの私のコードは
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:backupAgent="MyBackupAgent" android:restoreAnyVersion="true"
android:allowBackup="true" android:enabled="true">
<meta-data android:name="com.google.android.backup.api_key"
android:value="AEdPqrEAAAAIMiLZ2_rMQFv6Huz3BYWpuxfVoK68Wk0CFMiXwA" />
<activity android:name=".Splash" android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Activity
バックアップしたいアイテムを追加または更新すると、コードが
BackupManager bm = new BackupManager(this);
bm.dataChanged();
そしてMyBackupAgent
私が書いたファイルに
public class MyBackupAgent extends BackupAgent {
@Override
public void onBackup(ParcelFileDescriptor oldState, BackupDataOutput data,
ParcelFileDescriptor newState) throws IOException {
// TODO Auto-generated method stub
System.out.println("in MyBackupAgent");
}
@Override
public void onRestore(BackupDataInput data, int appVersionCode,
ParcelFileDescriptor newState) throws IOException {
// TODO Auto-generated method stub
}
}
しかし、ここではonBackup()
メソッドでは何も出力されないので、onbackup メソッドに入っているかどうかをどのように識別できますか?