问题标签 [android-backup-service]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4397 浏览

android - 应用示例,使用的 Android 备份服务

您是否知道任何使用Android 备份服务的 Android 应用程序(开源,如果可能的话)?

我需要有关如何在实际应用程序中使用备份服务的示例。

0 投票
2 回答
1108 浏览

android - 使用 Android Service Backup(云备份)时出现 Unclear SecurityException

我尝试在Android Emulator上使用我的应用程序,其中包含我自己的Android Backup Service的使用。但是备份不起作用,尽管在 AndroidManifest.xml 中写入了权限。BackupAgent

权限: <uses-permission android:name="android.permission.BACKUP"/>

日志中的警告: 09-17 09:05:58.553:WARN/PackageManager(73):未授予权限 android.permission.BACKUP 以包 my.package (protectionLevel=3 flags=0x1be46)

日志中的异常(当我尝试调用requestRestore()时):java.lang.SecurityException:getCurrentTransport:用户 10040 和当前进程都没有 android.permission.BACKUP。

我的代码有什么问题?

UPD:我的清单

0 投票
1 回答
440 浏览

android - Android如何将SD文件保存到云端

我尝试在云上保存/备份 sd 文件,但找不到这样做的方法。

我明白BackupAgentHelper了,但它在 doc 上说它仅适用于sharedPreferences内部文件。

这是一种使用FileBackupHelperSD 卡上的文件的方法?或者也许我必须使用其他功能进行备份?

我试试这个:

但它不工作...

固定:我使用 DropBox API 来备份/恢复

0 投票
4 回答
160511 浏览

android - 什么是“android:allowBackup”?

自从新的 ADT 预览版(版本 21)以来,他们有一个新的 lint 警告,告诉我清单文件(在应用程序标记中)的下一件事:

应该明确地将 android:allowBackup 设置为 true 或 false(默认情况下为 true,这可能会对应用程序的数据产生一些安全隐患)

官方网站上,他们写道:

一些新的检查:您必须明确决定您的应用是否允许备份,以及标签检查。有一个用于设置库路径的新命令行标志。编辑时对增量 lint 分析的许多改进。

这是什么警告?什么是备份功能,如何使用它?

另外,为什么警告告诉我它有安全隐患?禁用此功能有哪些缺点和优点?


清单的备份有两个概念:

  • "android: allowBackup " 允许通过 adb 进行备份和恢复,如下所示

是否允许应用程序参与备份和恢复基础架构。如果此属性设置为 false,则不会执行应用程序的备份或恢复,即使是全系统备份也会导致所有应用程序数据通过 adb 保存。此属性的默认值为 true。

这被认为是一个安全问题,因为人们可以通过ADB备份您的应用程序,然后将您的应用程序的私人数据获取到他们的 PC 中。

但是,我认为这不是问题,因为大多数用户不知道 adb 是什么,如果他们知道,他们也会知道如何 root 设备。ADB 功能只有在设备启用了调试功能的情况下才能工作,这需要用户启用它。

因此,只有将设备连接到 PC 并启用调试功能的用户才会受到影响。如果他们的 PC 上有使用 ADB 工具的恶意应用程序,这可能会出现问题,因为该应用程序可以读取私有存储数据。

我认为谷歌应该在开发者类别中添加一个默认禁用的功能,以允许通过 ADB 备份和恢复应用程序。

  • “android: backupAgent ”允许使用云的备份和恢复功能如下所示

实现应用程序的备份代理的类的名称,BackupAgent 的子类。属性值应该是完全限定的类名(例如,“com.example.project.MyBackupAgent”)。但是,作为简写,如果名称的第一个字符是句点(例如,“.MyBackupAgent”),则会将其附加到元素中指定的包名称中。没有默认值。必须指定名称。

这不是安全问题。

0 投票
0 回答
326 浏览

android - Android 备份服务在 IceCreamSandwitch 是否有效?

我的应用程序使用Android Backup Service

当应用程序安装在设备上时,通常会调用onRestore()我自己的方法BackupAgent,但是当我在具有冰淇淋三明治(API 级别 15)或更高级别的设备上使用它时,onRestore()根本不会调用方法!

设置的“备份和重置”中的两个系统选项(“备份我的数据”和“自动恢复”)均已启用。

有谁知道,为什么onRestore()不在 ICS+ 设备上调用?

0 投票
1 回答
217 浏览

android - 在 Android PHP-MySQL 服务器上使用 BackupManager

我正在制作一个使用硬币游戏内货币(可以在应用程序计费中购买)的 Android 应用程序,并且使用该虚拟货币,用户可以购买只能购买一次的物品。

为了管理每次购买以及每个用户拥有多少硬币,我最初虽然在我保存我的项目列表的服务器上的应用程序中使用的每次购买和用户使用一个表,但由于我的服务器是一个低成本的服务器,我认为/希望有很多交易,服务器将无法及时处理每个用户请求(回答更新列表,管理购买,将物品发送给用户等等)。

最近我发现了BackupManager并且我在想我是否使用本地文件来保存用户硬币、更新的项目列表和用户所做的购买而不是使用服务器,然后当其中一项更改时(购买时一个新项目,在更新项目列表等时)我会更新本地文件和备份BackupManager,甚至无需联系我的服务器。这可行吗,是否BackupManager设计用于像这样非常频繁的备份?

0 投票
1 回答
840 浏览

java - Android BackupManager 在卸载或其他设备后无法恢复?

我正在使用BackupManager备份SharedPreferences到云端。现在,当我在单个设备上使用它并且只执行重新安装而不是完全卸载时,这可以按预期工作。为此,我正在清除擦除首选项的数据,而不是从 Eclipse 重新安装应用程序。如果我首先卸载该应用程序并在重新安装后恢复调用报告没有要恢复的数据。当我在另一台设备上安装应用程序时也会发生同样的情况。

据我了解,无论应用程序被重新安装还是全新安装,我都希望数据能够恢复到任何设备。让我知道发布代码是否会有所帮助,但我认为因为它正在工作,我可能只是误解了该服务应该用于什么以及它是如何工作的。我正在尝试备份用户设置以及他们在搜索字段中输入的一些信息。我希望这些数据能够跟随用户使用新设备,或者如果用户卸载应用程序并在以后重新安装。请让我知道是否BackupManager不是完成此操作的正确工具。

0 投票
1 回答
2109 浏览

android - Android BackupAgent 不工作

我正在尝试让 BackupAgent 正常工作,但无法正常工作。这是我的示例代码:

布局只是一个 TextView 和一个 Button。

主要活动:

BackupHelper 只是我在这里可用的:http: //developer.android.com/reference/android/app/backup/SharedPreferencesBackupHelper.html 我用我使用的那个调整了 pref 文件的名称。

在我添加的清单中 android:backupAgent="TheBackupAgent"(应用程序标签)和备份元数据

所以它真的是一个非常简单的应用程序。

我现在正在执行以下操作:

1)启动应用程序

2)Textview在xml文件中用“START_VALUE”初始化,所以我按下按钮并显示pref-value

3)我从控制台运行“adb shell bmgr run”以立即运行备份

4)我运行“adb卸载com.foo.backuptest”

5)我运行“adb install com.foo.backuptest”

现在值(时间戳)未从云中恢复。生成一个新的。

我的错误在哪里??

0 投票
0 回答
106 浏览

android - Android 何时实际执行备份

我正在使用 AndroidBackupManager来备份我的应用程序数据。但正如文档中所述,Android 执行延迟备份,因为它不会在我调用它的dataChanged()方法时立即执行它,而是等待适当的时间。我只想知道是否有任何标志集或在它执行时发生了一些值得注意的事情云端备份。。

0 投票
1 回答
243 浏览

android - “大型二进制文件”的定义是什么?

根据 Android 参考页面,FileBackupHelper应该“仅用于小型配置文件,而不是大型二进制文件”。

我成功地备份了一个 8 KB 的数据库文件,但我很好奇文件什么时候会变成“大”二进制文件。您认为 Android 指的是兆字节范围内的文件吗?