问题标签 [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 投票
6 回答
32465 浏览

android - Android - 保留或删除应用程序在卸载时创建的文件

我创建了一个应用程序,它创建文件并将其存储到 sdcard。有没有办法将文件夹与应用程序绑定,以便在用户在 android 设备上运行卸载时删除所有文件?

0 投票
2 回答
2448 浏览

android - BackupAgent 是如何工作的?

我正在查看 AndroidManifest 文件,android:backupAgent并且根据文档看到条目android:backupAgent

实现 BackupAgent 以管理应用程序设置到外部存储的备份和恢复的类的名称。

但我找不到BackupAgent接口或任何其他文档。有人可以指出我正确的方向吗?

0 投票
6 回答
2694 浏览

android - 向后兼容的 BackupAgent

我正在考虑使用自 Android 2.2 以来可用的新备份 API,但需要保持向后兼容性(准确地说是 1.5)。

文档状态:

您必须使用的备份服务和 API 仅在运行 API 级别 8 (Android 2.2) 或更高版本的设备上可用,因此您还应该将 android:minSdkVersion 属性设置为“8”。但是,如果您在应用程序中实现适当的向后兼容性,则可以为运行 API 级别 8 或更高级别的设备支持此功能,同时保持与旧设备的兼容性。

我确实targetSdkVersion使用 3 级针对 8 级构建,minSdkVersion并尝试使用包装类(带反射)来克服如果您实现扩展不存在的类的类,应用程序将无法运行的问题。

这就是问题所在:由于我们自己并没有实际调用BackupHelper该类,因此我们无法预先检查该类是否确实存在。(正如 Android 向后兼容性文档中使用checkAvailable()方法所解释的那样。)因此,该类将被实例化并强制转换为BackupAgent. 但是由于我们使用反射,它实际上并没有覆盖 BackupAgent 并且在请求备份时会在运行时发生异常:

这是我向后兼容的方法BackupAgenthttp://code.google.com/p/transdroid/source/browse/#svn/trunk/src/org/transdroid/service其中 BackupAgent.java 是“常规” BackupAgentHelper -扩展类和 BackupAgentHelperWrapper 是基于反射的包装类。

有谁成功实现了BackupAgent向后兼容?

0 投票
2 回答
27370 浏览

android - 没有ui的后台应用

我是android开发的新手。我想做一个后台应用程序,让它一直在后台运行,它没有任何用户界面,甚至它的图标也不会出现在桌面上。简而言之,它是一个隐形应用程序。
可能吗?

0 投票
3 回答
4072 浏览

android - Android 2.2 中的 BackupManager 和 BackupAgent

我已经查看了文档和示例 BackupRestore 应用程序,并编写了我自己的测试应用程序来实现android:backupAgent. 我扩展了BackupAgent课程,因为我主要关心的是能够从数据库备份数据。我似乎无法使用此功能制作一个简单的概念验证应用程序。

为了让事情变得异常简单,我在清单中声明了android:backupAgentas MyBackupAgent。然后我创建了一个类 MyBackupAgent.java,扩展BackupAgent. onBackup()然后我为类中的和onRestore()方法创建了覆盖MyBackupAgent,就像在示例和文档中一样。我在每个函数的开头添加了一个Log.i()调用,以便我可以在 LogCat 中识别函数何时被调用。同样,我在这两个上都设置了断点。然后我继续实现我的代码来备份数据库。

我使用 2.2w/Google API 创建了一个模拟器图像,甚至在 Accounts & Sync 下添加了一个 gmail 帐户。运行 adb 命令以启用bmgr、备份应用程序、运行备份、卸载应用程序、重新安装应用程序等......我从来没有在日志文件中收到来自or函数中的Log.i()命令的消息。onBackup()onRestore()

我在运行 2.2 的 Evo 4g 上再次尝试。结果相同。备份管理器似乎没有调用类中的onBackup()onRestore()函数MyBackupAgent

我在日志中收到的唯一奇怪消息是来自BackupManagerService声明“备份通过但 e=true p=false”的消息,我相信响应 ADB 命令来备份应用程序。

有什么建议么?我是否错误地认为and函数中的Log.i()语句会出现在 LogCat 中?onBackup()onRestore()

0 投票
1 回答
2343 浏览

android - Android 2.2 数据备份:如何备份 DefaultSharedPreferences?

我正在实施BackupAgentHelperAndroid OS 2.2 的新功能。

要使其正常工作,您需要提供SharedPreferences要备份的名称:

问题是我PreferenceManager.getDefaultSharedPreferences()在我的应用程序中使用该方法来获取默认的共享首选项实例。现在我需要提供该文件的名称。我怎样才能知道那是什么名字?

(为什么他们不提供一个只做DefaultSharedPreferences备份的助手?)

0 投票
1 回答
2190 浏览

android - 使用 Android 中的 Android 备份服务将数据备份到 Google 服务器

我正在尝试将我的应用程序数据备份到 Google 服务器中。

为此,我BackupAgent在我的代码中实现了一个,并将其包含在 Android 清单文件和“元数据”中(在使用Android 备份服务注册我的应用程序包后得到)

当我运行应用程序进行备份时,这并没有执行备份。我使用的是 Nexus 一个设备(也连接到 WIFI)。

谁能告诉我为什么它没有调用我的 BackupAgent 的onBackup()方法?

我是否遗漏了一些东西,包括在 Android 清单文件中或程序中的某个位置?


以下是我的清单文件..

源文件是

我的备份代理是这样的:我没有实现里面的功能是onBackup()和onRestore()。一旦被调用,我将实现我想要的..

0 投票
3 回答
3681 浏览

android - BackupAgent:“无法恢复包...”

我已经按照Data Backup中的描述实现了 BackupAgent ,注册了一个 API 密钥并在我的 Manifest 中声明了 BackupAgent。我认为备份部分工作得很好;当我adb shell bmgr run在命令行中运行时,LogCat 中会出现以下输出:

另一方面,还原部分根本不起作用,onReceive()不会调用 on 方法。当我重新安装我的应用程序时,唯一可能(?)引用 BackupAgent 的输出是

当我运行它时adb shell bmgr restore com.meins.nightclock,它只是说明Unable to restore package com.meins.nightclock.


我正在使用以下实现BackupAgentHelper

为了完整起见,相关的清单部分:


有谁知道,为什么 BackupManager 无法恢复这个包?

0 投票
1 回答
4052 浏览

android - 寻找 BackupAgent(用于 sqlite 数据库)示例

我在这里看到了几个例子,但没有一个特别提到备份 SQLite 数据库,有人有这样做的例子吗? http://www.microdu.com/docs/guide/topics/data/backup.html

0 投票
1 回答
3476 浏览

android - 在安卓云中备份数据库:

我可以使用 Android Cloud 备份我的应用程序的数据库吗?此功能有哪些限制?