Як видалити програму з активним адміністратором пристрою на Android?


82

Я написав програму з увімкненим адміністратором пристрою (DevicePolicyManager) і встановив її. Але коли я хочу його видалити, він повертається з цим повідомленням

WARN / PackageManager (69): Не видаляючи пакет com.mypackage.test: має активного адміністратора пристрою

Як я можу його видалити або видалити програмно? Дякую.

Відповіді:


174

Перейдіть до НАЛАШТУВАННЯ-> Розташування та безпека-> Адміністратор пристрою та скасуйте вибір адміністратора, якого потрібно видалити.

Тепер видаліть програму. Якщо в ньому все ще написано, що вам потрібно деактивувати програму перед видаленням, можливо, вам доведеться примусово зупинити програму перед видаленням.


2
Для мене це дещо інше, принаймні на huawei. Вам слід перейти в налаштування-> безпека-> адміністратори пристрою, а потім вам слід деактивувати програму.
desmond13

APK (Служби Google Play) не відображається в цьому списку адміністраторів пристрою.
andreszs

34

Ви також можете створити новий DevicePolicyManager, а потім використовувати removeAdmin (adminReceiver) з onClickListener кнопки у вашому додатку

//set the onClickListener here
{
   ComponentName devAdminReceiver = new ComponentName(context, deviceAdminReceiver.class);
   DevicePolicyManager dpm = (DevicePolicyManager)context.getSystemService(Context.DEVICE_POLICY_SERVICE);
   dpm.removeActiveAdmin(devAdminReceiver);
}

А потім можна видалити


Як я можу запитати свій пароль програми перед тим, як запустити адміністратора видалення пристрою, зазначеного вище ?? чи є якийсь спосіб до цього ??
rolling.stones

1
Не існує законного способу зробити це. Ви можете включити onDisableRequestedякийсь код для блокування пристрою за допомогою класу адміністратора. Тоді користувачеві потрібно буде розблокувати телефон за допомогою вибраного вами пароля (ймовірно, пароля програми). А потім, щоб НАСТІЙНО вимкнути адміністратора, користувачеві потрібно буде перейти до вашого додатка та натиснути на ньому кнопку. Звичайно, якщо ви збираєтеся перешкоджати користувачеві відключати адміністратора, потрібно ДУЖЕ чітко пояснити користувачеві, що якщо він спробує вимкнути, його пристрій буде заблоковано.
Рід

Jakar : Зверніть увагу, що onDisableRequestedвикликається відразу після того, як користувач натискає "Вимкнути" в системних налаштуваннях. На даний момент код AdminReceiver може щось зробити - заблокувати пристрій, витерти пристрій тощо, але немає можливості задавати користувачеві більше запитань, відображати будь-які попередження чи запитувати користувача, чи впевнений він у цьому. Будь-які діалогові вікна чи дії, з яких ви показуєте onDisableRequested, будуть показані, але користувач може просто відхилити їх за допомогою кнопки Назад, і тоді ваш адміністратор БУДЕ ВИМКНЕНИЙ, і ваша програма нічого не зробить, щоб запобігти цьому.
winitzki

Вищезазначене є правильним для Android 3.1 і нижче. Здається, Android 3.2 вирішив цю проблему! Дивіться також stackoverflow.com/questions/9298364 / ...
winitzki

4

На Samsung перейдіть до "Налаштування" -> "Екран блокування та безпека" -> "Інші налаштування безпеки" -> "Адміністратори телефону" та зніміть прапорець біля адміністратора, якого потрібно видалити.

Слово "безпека" було приховано на моєму дисплеї, тому не було очевидно, що я повинен натиснути на "Блокування екрана".


4
опція деактивувати для мене відключена. що робити далі?
apm

1

Введіть пароль сховища, і в правому верхньому куті значка параметрів сховища є. Натисніть на нього. У цьому -> налаштування-> адміністративні обряди сховища, які слід скасувати. Роботу завершено. Ви можете зараз видалити програму.


1

Для користувачів Redmi,

Налаштування -> Пароль та безпека -> Конфіденційність -> Спеціальний доступ до програми -> Програми адміністратора пристрою

Клацніть деактивувати програми


1

Користувач Redmi / xiaomi

Перейдіть "Settings" -> "Password & security" -> "Privacy" -> "Special app access" -> "Device admin apps"і виберіть обліковий запис, який ви хочете видалити.

Або просто

перейдіть до налаштування -> Потім знайдіть програми адміністратора пристрою -> клацніть і виберіть обліковий запис, який ви хочете видалити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.