2015-05-20 9 views
1

У меня была проблема с моим владельцем устройства. Приложение: до Android 5.1 оно работало хорошо, но теперь, после обновления до Android 5.1, установка устройства-владельца App отключает резервное копирование Обслуживание.Владелец устройства теперь отключает службу резервного копирования

Теперь в настройках устройства, когда вы переходите в режим сброса &, служба резервного копирования отключена, сказав следующее: Служба резервного копирования неактивна. Это устанавливается вашей политики устройства

я мог бы найти this source на репозиторий Google ... Код не очень долго, и легко понять, что они используют android.app.backup.IBackupManager, чтобы отключить службу .. . Но проще это коммит комментарий:

Shutdown менеджер резервного копирования службы, когда устанавливается владельцем устройства

Вот что они делают:

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); 
} 

Вау ... это делает серьезный недостаток для моего проекта! Не шутите: теперь действительно невозможно, чтобы у пользователя были резервные копии данных, когда установлено приложение владельца устройства?

Итак, мы надеемся, что кто-то здесь может иметь информацию или опыт об этом? К сожалению, я не знаком с этим, но, возможно, с отражением это может быть исправлено впоследствии?

Благодарим за понимание!

+0

Я также должен добавить важную информацию: при инициализации устройства, при априори 5.1, мне пришлось настроить свою учетную запись google, при необходимости выбрать вариант восстановления, а затем применить пул NFC Provisioning ... Теперь NFC должен применяться * до * учетной записи google, иначе, как только в настройке учетной записи google будет указано, что слишком поздно, устройство уже подготовлено ...Эта проблема может быть связана с этим новым поведением, но как этого избежать ...? – JBA

ответ

0

У меня такая же проблема, кроме того, adb backup не запускается, потому что соединение было отклонено (я предполагаю, что служба резервного копирования не работает). Так же, как ссылки, это одна из ошибок, которые я видел в LogCat:

W/main(22253): type=1400 audit(0.0:106): avc: denied { ioctl } for path="socket:[76146]" dev="sockfs" ino=76146 ioctlcmd=7704 scontext=u:r:shell:s0tcontext=u:r:adbd:s0 tclass=unix_stream_socket permissive=0 

Хотя я до сих пор не понял, как перезапустить службу резервного копирования (и я считаю, что есть способ), я нашел очень полезно альтернатива ADB резервного копирования для доступа к данным: https://stackoverflow.com/a/30265804/3317381

у меня есть физический доступ к устройствам под управлением моим приложение таким образом, это решение хорошо работает в моем случае. Надеюсь, это поможет по крайней мере восстановить ваши данные в среде разработки.

1

Поскольку это топ поиска Google для владельца устройства и резервного копирования

Начиная с Android O вы можете включить его с помощью DevicePolicyManager

setBackupServiceEnabled (ComponentName admin, Boolean enabled) 

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

Вы можете проверить, если позволяет с isBackupServiceEnabled

Или установите его