¿Cómo eliminar una aplicación con el administrador de dispositivo activo habilitado en Android?

82

Escribí una aplicación con el administrador de dispositivos habilitado (DevicePolicyManager) e instalado. Pero cuando quiero desinstalarlo, devuelve fallido con este mensaje

WARN / PackageManager (69): no se elimina el paquete com.mypackage.test: tiene administrador de dispositivo activo

¿Cómo puedo desinstalarlo o desinstalarlo mediante programación? Gracias.

shiami
fuente

Respuestas:

172

Vaya a CONFIGURACIÓN-> Ubicación y seguridad-> Administrador del dispositivo y anule la selección del administrador que desea desinstalar.

Ahora desinstale la aplicación. Si todavía dice que necesita desactivar la aplicación antes de desinstalarla, es posible que deba Forzar la detención de la aplicación antes de desinstalarla.

Atmaram
fuente
2
Es un poco diferente para mí, al menos en un Huawei. Debes ir a configuración-> seguridad-> administradores de dispositivos y luego debes desactivar tu aplicación.
Desmond
El APK (Servicios de Google Play) no aparece en esta lista de administradores de dispositivos.
andreszs
34

También puede crear un nuevo DevicePolicyManager y luego usar removeAdmin (adminReceiver) desde un onClickListener de un botón en su aplicación

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

Y luego puedes desinstalar

Junco
fuente
¿Cómo puedo solicitar la contraseña de mi aplicación antes de ejecutar el administrador de eliminación del dispositivo indicado anteriormente? hay alguna manera de eso?
rolling.stones
1
No existe una forma legítima de hacerlo. Podría incluir en onDisableRequestedalgún código para bloquear el dispositivo usando la clase de administrador. El usuario deberá desbloquear el teléfono con la contraseña que eligió (probablemente la contraseña de la aplicación). Y luego, para deshabilitar REALMENTE el administrador, el usuario tendría que navegar a su aplicación y hacer clic en un botón. Por supuesto, si va a evitar que el usuario deshabilite el administrador, debe dejarle MUY claro al usuario que si intenta deshabilitarlo, su dispositivo se bloqueará.
Reed
Jakar : Tenga en cuenta que onDisableRequestedse llama inmediatamente después de que el usuario haga clic en "Desactivar" en la configuración del sistema. En este punto, el código AdminReceiver puede hacer algo: bloquear el dispositivo, limpiar el dispositivo, etc., pero no hay forma de hacerle más preguntas al usuario, mostrar advertencias o preguntarle al usuario si está seguro. Se mostrarán los diálogos o actividades que muestre onDisableRequested, pero el usuario puede simplemente descartarlos con el botón Atrás, y luego su administrador SERÁ DESHABILITADO y su aplicación no habrá logrado nada para evitarlo.
winitzki
Lo anterior es correcto para Android 3.1 y versiones anteriores. ¡Parece que Android 3.2 ha solucionado este problema! Véase también stackoverflow.com/questions/9298364/…
winitzki
4

En Samsung, vaya a "Configuración" -> "Pantalla de bloqueo y seguridad" -> "Otras configuraciones de seguridad" -> "Administradores del teléfono" y anule la selección del administrador que desea desinstalar.

La palabra "seguridad" estaba oculta en mi pantalla, por lo que no era obvio que debería hacer clic en "Pantalla de bloqueo".

corredor
fuente
4
La opción de desactivar está desactivada para mí. que hacer a continuacion
apm
1

Ingrese la contraseña de la bóveda y el ícono de opciones de la esquina superior derecha de la bóveda está allí. Presiónelo. En eso -> configuración-> ritos de administración de la bóveda para ser deseleccionados. Trabajo hecho. Puedes desinstalar la aplicación ahora.

Natendra
fuente
1

Para los usuarios de Redmi,

Configuración -> Contraseña y seguridad -> Privacidad -> Acceso a aplicaciones especiales -> Aplicaciones de administración de dispositivos

Haga clic en desactivar las aplicaciones

Rajan
fuente
1

Usuario de redmi / xiaomi

Vaya a "Settings" -> "Password & security" -> "Privacy" -> "Special app access" -> "Device admin apps"y seleccione la cuenta que desea desinstalar.

O simplemente

vaya a la configuración -> Luego busque las aplicaciones de administración del dispositivo -> haga clic y seleccione la cuenta que desea desinstalar.

Srikrushna
fuente