Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android BackupAgent未备份/还原SharedReference_Java_Android_Backup - Fatal编程技术网

Java Android BackupAgent未备份/还原SharedReference

Java Android BackupAgent未备份/还原SharedReference,java,android,backup,Java,Android,Backup,我尝试使用BackupAgent备份默认的SharedReferences。这是我为MyBackupAgent public class MyBackupAgent extends BackupAgentHelper { // The name of the SharedPreferences file private final String PREFS = "com.mikebdev.refuelpro_preferences"; // A key to uniq

我尝试使用BackupAgent备份默认的
SharedReferences
。这是我为
MyBackupAgent

public class MyBackupAgent extends BackupAgentHelper {

    // The name of the SharedPreferences file
    private final String PREFS = "com.mikebdev.refuelpro_preferences";

    // A key to uniquely identify the set of backup data
    private static final String PREFS_BACKUP_KEY = "prefs";


    @Override
    public void onCreate() {
        SharedPreferencesBackupHelper sharedPref = new SharedPreferencesBackupHelper(this, PREFS);
        addHelper(PREFS_BACKUP_KEY, sharedPref);

    }
}
当强制从ADB进行备份和恢复时,我在控制台中得到的是:

shell@flo:/ $ bmgr backup com.mikebdev.refuelpro
bmgr backup com.mikebdev.refuelpro
shell@flo:/ $ bmgr backup run
bmgr backup run
shell@flo:/ $ bmgr restore com.mikebdev.refuelpro
bmgr restore com.mikebdev.refuelpro
restoreStarting: 2 packages
restoreFinished: 0
done
这是Logcat必须说的:

09-20 18:47:32.125      525-539/? I/BackupManagerService﹕ Scheduling backup for new app com.mikebdev.refuelpro
09-20 18:47:32.125      525-539/? D/BackupManagerService﹕ Now staging backup of com.mikebdev.refuelpro
09-20 18:47:32.966     525-2458/? D/BackupManagerService﹕ agentConnected pkg=com.mikebdev.refuelpro agent=android.os.BinderProxy@42222800
09-20 18:52:00.336      525-539/? D/BackupManagerService﹕ Received broadcast Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.mikebdev.refuelpro flg=0x8000010 (has extras) }
09-20 18:52:00.336      525-539/? V/BackupManagerService﹕ removePackageParticipantsLocked: uid=10084 #1
09-20 18:52:08.344      525-546/? V/BackupManagerService﹕ restoreAtInstall pkg=com.mikebdev.refuelpro token=f restoreSet=39fa49811177c60b
09-20 18:52:08.354      525-657/? D/BackupManagerService﹕ MSG_RUN_RESTORE observer=null
09-20 18:52:08.935      525-657/? D/BackupManagerService﹕ initiateOneRestore packageName=@pm@
09-20 18:52:08.945      525-657/? V/BackupServiceBinder﹕ doRestore() invoked
09-20 18:52:08.945      525-657/? V/BackupManagerService﹕ No next package, finishing restore
09-20 18:52:08.945      525-657/? I/BackupManagerService﹕ Restore complete.
所以现在我想知道发生了什么,因为我还不知道。我不知道为什么这样不行

我该如何使用此服务备份一个小SQLite数据库呢


提前感谢

尽管完整的日志会有所帮助,但不会有任何内容跳出。确保备份到本地传输,并检查设备上本地存储的备份文件。一旦您确认备份正在进行,我们就可以看到恢复出了什么问题。别忘了,您仍然需要调用dataChanged()来表示您有要备份的数据(在第一次备份之后)。@HayesHaugen老实说,是的。我读了文档,但我很难完全理解。我现在只想让SharedReferences备份工作。我非常感谢任何能在这个话题上尽可能详细地帮助我的人