当前位置: 首页 > 知识库问答 >
问题:

BackupAgenThelper:未调用onRestore

翟志新
2023-03-14

我从这个链接安装了示例BackupRestore。

https://android.googlesource.com/platform/development/+/0b3758ea4e53f9bfd0b112eaa4a7dd7b7f4040f5/samples/backuprestore?autodive=0%2f%2f%2f%2f%2f%2f%2f%2f%2f%2f%2f%2f%2f

我无法还原数据。

调用了OnBackup和OnCreate,但没有调用OnRestore。

我可以备份:OnCreate和OnBackup会被命中,但OnRestore不会。

@Override
public void onRestore(BackupDataInput data, int appVersionCode,
                      ParcelFileDescriptor newState) throws IOException {
    // Hold the lock while the FileBackupHelper restores the file from
    // the data provided here.
    synchronized (BackupRestoreActivity.sDataLock) {
        super.onRestore(data, appVersionCode, newState);
    }
}



   public void onRestoreButtonClick(View v) {
        Log.v(TAG, "Requesting restore of our most recent data");
        mBackupManager.requestRestore(
                new RestoreObserver() {
                    public void restoreFinished(int error) {
                        /** Done with the restore!  Now draw the new state of our data */
                        Log.v(TAG, "Restore finished, error = " + error);
                        populateUI();
                    }
                }
        );
    }
adb shell bmgr restore [package]
adb uninstall [apkfile]
adb  install [apkfile]
restoreStarting: 1 packages
restoreFinished: 0
done

共有1个答案

薛承基
2023-03-14

查了日志,注意到一条消息:

I/backup:[KeyValueRateLimiter]K/V速率限制器中止了[package]的备份。NEXT=1519165401410,当前=1519088429345

因此这意味着备份要到2/20/2018,5:23:21下午才能进行。Google Transport的备份有一个速率限制,所以我打算尝试本地传输,它没有速率限制。

以下是我所做的使其工作:

>

  • 将源文件从BackupRestore项目复制到新项目中。
  • 从以下网站生成清单文件的备份密钥:https://developer.android.com/google/Backup/signup.html
  • 运行adb shell bmgr列表传输以查看传输。
  • 运行adb shell bmgr transport android/com.android.internal.backup.localtransport将传输更改为本地传输(Google transport将施加速率限制)
  • 运行adb shell bmgr backup[package]--以备份应用程序
  • 运行adb shell dumpsys backup查看挂起的备份文件
  • ADB shell bmgr运行

    adb卸载[软件包名称]

  •  类似资料:
    • 我正在开发一个带有ActionBars的应用程序,它支持姜饼和其他功能。所以基本上我在使用支持库并扩展 行动B活动 对于我所有的活动。除了 onSupportNavigateUp() 方法。它只是不被调用在留档中所述。 每当用户选择从操作栏在应用程序的活动层次结构中向上导航时,就会调用此方法。 这很容易,但我一直不明白为什么它不能像预期的那样工作,谷歌也帮不上忙。这是虫子吗?还是我错过了什么?

    • 运行playstore Build Apk时,未调用Marshmallow Runtime Permissions onRequestPermissionsResult,但正常调试Apk时运行良好。谁来帮帮我。。谢谢 OnRequestPermissionResult方法

    • 我很难让正常工作。无论我怎么努力,我都不能让它被称为。 我的应用程序的体系结构如下所示:我的主活动包含一个片段,其中包含一个ViewPager,而ViewPager又有四个子片段实例。目前,我正在(成功地)用填充活动中的初始选项菜单,但我希望添加一些对应于每个活动子片段的额外选项。 如果有人知道这里发生了什么,我会非常感激,因为我已经被困在这个问题上两天了。 更新--我已经搞清楚了现在的问题是什么

    • CustomDialog 下面是http://www.theappguruz.com/blog/android-take-photo-camera-gallery-code-sample

    • 我使用: null 我正在使用zuul和负载平衡rest模板从另一个微服务调用一个微服务: 请求到达下游服务,但未在ZullFilter中设置头(我使用了不同的头): 我还创建了一个过滤器: 我错过了什么?为什么不能调用筛选器?在我的案件中是否应该引用?

    • 我试图发送一个意图,从一个活动中的创建启动一个意图服务。但是,IntentService的onHandleIntent永远不会被接收。我尝试过用意图过滤器改变清单,但似乎没有任何效果。没有抛出异常,但是根本没有调用IntentService。 这是onCreate 这是IntentService类的创建者和OnHandleContent,我知道它不会被调用,因为logcat从不显示“检索到的意图”