设备所有者现在禁用备份服务

JBA*_*JBA 4 android android-backup-service device-owner

我的设备所有者应用程序出现问题:在 Android 5.1 之前它运行良好,但现在更新到 Android 5.1 后,安装设备所有者应用程序会禁用备份服务。

现在在设备设置中,当进入备份和重置选项时,备份服务是灰色的,表示:备份服务处于非活动状态。这是由您的设备政策设置的

我可以在 google git 存储库上找到这个源代码......代码不是很长且易于理解,他们使用 android.app.backup.IBackupManager 来禁用该服务......但更容易的是提交评论:

设置设备所有者时关闭备份管理器服务

这是他们所做的:

import android.app.backup.IBackupManager;

// Shutting down backup manager service permanently.
long ident = Binder.clearCallingIdentity();
try {
    IBackupManager ibm = IBackupManager.Stub.asInterface(
        ServiceManager.getService(Context.BACKUP_SERVICE));
    ibm.setBackupServiceActive(UserHandle.USER_OWNER, false);
} catch (RemoteException e) {
    throw new IllegalStateException("Failed deactivating backup service.", e);
} finally {
    Binder.restoreCallingIdentity(ident);
}
Run Code Online (Sandbox Code Playgroud)

哇...这对我的项目来说是一个严重的缺陷!不开玩笑:现在真的不可能让用户在安装设备所有者应用程序时备份他的数据吗?

所以,希望这里有人可以有信息或经验来分享这个?可悲的是,我对此并不熟悉,但也许通过反思可以在事后修复?

感谢您的阅读!

RRi*_*VEN 5

因为这是设备所有者和备份的顶级 Google 搜索

从 Android O 开始,您可以使用 DevicePolicyManager

setBackupServiceEnabled (ComponentName admin, Boolean enabled)
Run Code Online (Sandbox Code Playgroud)

https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html

您可以检查是否启用 isBackupServiceEnabled

或者设置一下