Я пытаюсь интегрировать службу резервного копирования с моим приложением. Это все работает вплоть до того момента, как сделать вызов:Невозможно использовать резервную копию с помощью службы резервного копирования Android
BackupManager bm = new BackupManager(context);
bm.dataChanged();
я вижу следующее в моем LogCat:
W/BackupManagerService﹕ dataChanged but no participant pkg='com.company.app' uid=10102
Вот моя реализация BackupAgentHelper
https://gist.github.com/cloakedninjas/fe135cb04bf324e26b0c, если это помогает ...
public class CordovaBackupAgentHelper extends BackupAgentHelper {
static final String FILE_NAME = "gameData.json";
static final String FILES_BACKUP_KEY = "data_file";
@Override
public void onCreate() {
FileBackupHelper helper = new FileBackupHelper(this, FILE_NAME);
addHelper(FILES_BACKUP_KEY, helper);
}
@Override
public void onBackup(ParcelFileDescriptor oldState, BackupDataOutput data,
ParcelFileDescriptor newState) throws IOException {
Log.d(Backup.LOG_TAG, "Backup requested: " + oldState.toString() + " | " + newState.toString());
synchronized (Backup.sDataLock) {
Log.d(Backup.LOG_TAG, "Backup requested: " + data.toString());
super.onBackup(oldState, data, newState);
}
}
@Override
public void onRestore(BackupDataInput data, int appVersionCode,
ParcelFileDescriptor newState) throws IOException {
synchronized (Backup.sDataLock) {
Log.d(Backup.LOG_TAG, "Restore given: " + data.toString());
super.onRestore(data, appVersionCode, newState);
}
}
}
Я никогда не вижу записи в журнале Backup requested
. Я проверил свой манифест Android, имеет следующий атрибут: android:backupAgent="CordovaBackupAgentHelper"
Может ли кто-нибудь пролить свет на это?
Update
Я заметил, если бы я изменить свой манифест, чтобы android:backupAgent="FooBar"
я не вижу никаких ошибок о необъявленном классе FooBar, но по-прежнему видит dataChanged but no participant pkg
при попытке резервного копирования. Поэтому я предполагаю, что ошибка связана с невозможностью найти мой резервный агент.
Так что да , попробовали полное имя 'android: backupAgent =" com.cloakedninjas.cordova.plugins.CordovaBackupAgentHelper "и добавили' android: allowBackup' att ribute. Ключ находится в манифесте согласно указанному и несколько раз запускал 'adb shell bmgr run'. Но спасибо :) – cloakedninjas
Просто интересно, нужно ли публиковать приложение для работы?Он еще не загружен в Google Play – cloakedninjas
Также, если вы изменили свой ключ API на что-то неправильное, генерируют ли какие-либо предупреждения? – cloakedninjas