Jak usunąć aplikację z aktywnym administratorem urządzenia na Androidzie?


82

Napisałem aplikację z włączonym administratorem urządzenia (DevicePolicyManager) i zainstalowałem. Ale kiedy chcę go odinstalować, zwraca błąd z tym komunikatem

WARN / PackageManager (69): brak usuwania pakietu com.mypackage.test: ma aktywnego administratora urządzenia

Jak mogę to odinstalować lub odinstalować programowo? Dzięki.

Odpowiedzi:


173

Przejdź do SETTINGS-> Location and Security-> Device Administrator i odznacz administratora, którego chcesz odinstalować.

Teraz odinstaluj aplikację. Jeśli nadal mówi, że musisz dezaktywować aplikację przed odinstalowaniem, może być konieczne wymuszenie zatrzymania aplikacji przed odinstalowaniem.


2
Dla mnie jest trochę inaczej, przynajmniej na Huawei. Powinieneś przejść do ustawień-> bezpieczeństwo-> administratorzy urządzenia, a następnie dezaktywować aplikację.
desmond

Pakiet APK (usługi Google Play) nie pojawia się na tej liście administratorów urządzeń.
andreszs

34

Możesz także utworzyć nowy DevicePolicyManager, a następnie użyć removeAdmin (adminReceiver) z przycisku onClickListener w Twojej aplikacji

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

A następnie możesz odinstalować


Jak mogę poprosić o hasło aplikacji przed wykonaniem powyższego administratora usuwania urządzenia? czy jest na to jakiś sposób?
Rolling.stones

1
Nie ma na to legalnego sposobu. Możesz dołączyć onDisableRequestedkod, aby zablokować urządzenie za pomocą klasy administratora. Użytkownik musiałby wtedy odblokować telefon za pomocą wybranego hasła (prawdopodobnie hasła aplikacji). A następnie, aby RZECZYWISTE wyłączyć administratora, użytkownik musiałby przejść do Twojej aplikacji i kliknąć w niej przycisk. Oczywiście, jeśli zamierzasz uniemożliwić użytkownikowi wyłączenie administratora, należy BARDZO wyjaśnić użytkownikowi, że jeśli spróbuje wyłączyć, jego urządzenie zostanie zablokowane.
Reed

Jakar : Pamiętaj, że onDisableRequestedwywoływane jest natychmiast po kliknięciu przez użytkownika opcji „Wyłącz” w ustawieniach systemu. W tym momencie kod AdminReceiver może coś zrobić - zablokować urządzenie, wyczyścić urządzenie itp., Ale nie ma sposobu, aby zadać użytkownikowi więcej pytań, wyświetlić ostrzeżenia czy zapytać użytkownika, czy jest pewien. Wszelkie okna dialogowe lub działania, z których wyświetlasz onDisableRequested, zostaną pokazane, ale użytkownik może po prostu odrzucić je za pomocą przycisku Wstecz, a następnie Twój administrator zostanie WYŁĄCZONY, a Twoja aplikacja nie zrobi nic, aby temu zapobiec.
winitzki

Powyższe dotyczy Androida 3.1 i starszych. Wygląda na to, że Android 3.2 rozwiązał ten problem! Zobacz także stackoverflow.com/questions/9298364/ ...
winitzki

4

W Samsungu przejdź do „Ustawienia” -> „Blokada ekranu i zabezpieczenia” -> „Inne ustawienia zabezpieczeń” -> „Administratorzy telefonu” i odznacz administratora, którego chcesz odinstalować.

Słowo „bezpieczeństwo” było ukryte na moim ekranie, więc nie było oczywiste, że mam kliknąć „Zablokuj ekran”.


4
opcja dezaktywacji jest dla mnie wyłączona. co zrobic nastepnie?
apm

1

Wprowadź hasło skarbca, a wewnątrz skarbca znajduje się ikona opcji w prawym górnym rogu. Naciśnij go. W tym -> ustawienia-> rytuały administratora przechowalni mają być odznaczone. Robota wykonana. Możesz teraz odinstalować aplikację.


1

Dla użytkowników Redmi,

Ustawienia -> Hasło i bezpieczeństwo -> Prywatność -> Specjalny dostęp do aplikacji -> Aplikacje administratora urządzenia

Kliknij dezaktywuj aplikacje


1

Użytkownik Redmi / Xiaomi

Przejdź do "Settings" -> "Password & security" -> "Privacy" -> "Special app access" -> "Device admin apps"i wybierz konto, które chcesz odinstalować.

Lub po prostu

przejdź do ustawień -> Następnie wyszukaj Aplikacje administratora urządzenia -> kliknij i wybierz konto, które chcesz odinstalować.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.