Скрыть приложение на Android с помощью DevicePolicyManager

Я пытаюсь использовать DevicePolicyManager, чтобы скрыть Facebook на своем устройстве из своего приложения. Прямо сейчас мне удалось отключить камеру при условии, вызвав метод setCameraDisabled.

Теперь я пытаюсь скрыть Facebook, поэтому я вызвал метод setApplicationHidden и указал в качестве одного из параметров идентификатор пакета Facebook. Когда я запускаю свой код, я получаю исключение безопасности Java, говорящее, что мой администратор не владеет профилем.

Как мне получить разрешение пользователя, чтобы я мог остановить это исключение безопасности? Есть ли лучший способ программно ограничить стороннее приложение?

Спасибо


person user3567080    schedule 15.02.2016    source источник
comment
Насколько я знаю, это не имеет ничего общего с разрешением пользователя. Например, чтобы стать владельцем устройства, вы должны пройти специальный процесс настройки при первой загрузке устройства. И владелец профиля, и владелец устройства являются частью системы Android for Work.   -  person CommonsWare    schedule 15.02.2016
comment
вы скрывали приложения с помощью setApplicationHidden API? Когда я попробовал этот API, он не скрывает приложение и возвращает ложное значение, хотя мое приложение является владельцем устройства. У вас есть идеи, почему он возвращает false?   -  person Raneez Ahmed    schedule 03.11.2016


Ответы (2)


Чтобы использовать методы, предоставляемые классом DevicePolicyManager, мы должны сделать приложение владельцем устройства. Я использовал команду dpm, чтобы сделать мое приложение владельцем устройства. Ниже приведены шаги для этого

  1. первое устройство сброса настроек
  2. установите приложение и активируйте его от имени администратора.
  3. из терминала запустите следующую команду

dpm set-device-owner packageNameOfApp/DeviceAdminRcvrwithFullPackageName

вы можете найти отложенное обсуждение здесь

person Ali    schedule 18.07.2016

Вы можете использовать dpm set-device-owner в любом приложении администрирования без необходимости сброса устройства до заводских настроек.

И помните, что эту команду adb следует использовать только для целей тестирования. В дополнение к этой функции администрирования больше не поддерживается Google.

Вы должны быть либо владельцем устройства, либо Владелец профиля для использования любого API в DevicePolicyManager

NB: кажется, что некоторые производители все еще поддерживают функцию администратора в своем ПЗУ, например Samsung, даже если они используют новую версию Android.

person issamux    schedule 06.05.2021