Я разрабатываю собственное приложение DPC (контроллер политики устройств).
Моя логика удаления работает правильно на полностью управляемых устройствах (владелец устройства), но не работает на устройствах BYOD (рабочий профиль/владелец профиля).
Контекст
На полностью управляемых устройствах → удаление работает нормально.
В BYOD (рабочий профиль) → метод работает без сбоев, но приложение не удаляется.
Приложение было установлено из управляемого Google Play (Play Store с рабочим профилем).
В BYOD я являюсь владельцем профиля (не аффилированным).
Каков правильный и поддерживаемый подход к автоматическому удалению приложений при настройке рабочего профиля BYOD?
Я разрабатываю собственное приложение DPC (контроллер политики устройств). Моя логика удаления работает правильно на [b]полностью управляемых устройствах (владелец устройства)[/b], но [b]не работает на устройствах BYOD (рабочий профиль/владелец профиля)[/b]. Контекст [list] [*]На полностью управляемых устройствах → удаление работает нормально.
[*]В BYOD (рабочий профиль) → метод работает без сбоев, но приложение не удаляется.
[*]Приложение было установлено из [b]управляемого Google Play (Play Store с рабочим профилем)[/b].
[/list] Код [code]public static boolean uninstallPackages(Context context, String... packages) { if (DPCUtils.isDeviceOwner(context) || DPCUtils.isProfileOwner(context)) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { PackageInstaller packageInstaller = context.getPackageManager().getPackageInstaller(); for (String pkg : packages) { packageInstaller.uninstall( pkg, PendingIntent.getBroadcast( context, 0, new Intent(), Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ? PendingIntent.FLAG_IMMUTABLE : 0 ).getIntentSender() ); } return true; } } return false; } [/code] Согласно документации [code]PackageInstaller.uninstall()[/code] доступен: [list] [*]установщику записи
[*]владельцу устройства
[*]владельцу аффилированного профиля
[/list] В BYOD я являюсь [b]владельцем профиля (не аффилированным)[/b]. Каков правильный и поддерживаемый подход к автоматическому удалению приложений при настройке рабочего профиля BYOD?