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.

shiami
źródło

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.

Atmaram
źródło
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ć

Trzcina
źródło
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”.

raacer
źródło
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ę.

Natendra
źródło
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

Rajan
źródło
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ć.

Srikrushna
źródło