我想備份服務與我的應用程序集成。這是所有工作說得最多的時刻,我打這個電話給:不能使用的備份與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"
任何人都可以揭示出這個任意光?
更新
如果我改變我的清單有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