1 votos

¿Cómo habilitar el administrador del dispositivo para aplicaciones específicas usando Tasker?

Me gustaría hacer un perfil en Tasker para habilitar los privilegios del administrador del dispositivo a "Android Device Manager" cuando se recibe un mensaje de texto. De esta manera podría mantener el Administrador de Dispositivos desactivado, mientras que puedo volver a activarlo de forma remota (por un mensaje de texto, por ejemplo) en caso de que pierda mi teléfono.

¿Hay alguna forma de hacerlo con Tasker?

1voto

Firelord Puntos 161

No estoy seguro de por qué querrías hacer eso, pero seguro que vas a necesitar acceso Root si quieres habilitar Administrador de dispositivos Android como administrador del dispositivo en segundo plano.

He probado combinaciones de transmisiones de intención para evitar el reinicio del dispositivo pero sin éxito, así que ten en cuenta que mi método requiere un reinicio.

Todos los administradores de dispositivos habilitados están anotados en el archivo /data/system/device_policies.xml . Simplemente añada o elimine las entradas de una aplicación, reinicie el dispositivo y esa aplicación se habilitará/deshabilitará como administrador del dispositivo.

Cualquier aplicación que aparezca en Configuración → Seguridad → Administrador del dispositivo tiene un receptor pensado específicamente para cumplir con la requisitos de uso de la API de administración de dispositivos y requiere el permiso BIND_DEVICE_ADMIN . Puede comprobar el nombre del receptor en el Manifiesto de la aplicación. Es este receptor el que se menciona en el device_policies.xml archivo.

La forma más sencilla de obtener el nombre del receptor del administrador del dispositivo de la aplicación y la bandera es habilitar la aplicación como administrador del dispositivo, buscar las entradas de la aplicación en device_policies.xml y luego revocar el privilegio de administrador del dispositivo .

Para Android Device Manager (ADM; gestionado por Google Play Services), las entradas son:

<admin name="com.google.android.gms/com.google.android.gms.mdm.receivers.MdmDeviceAdminReceiver">
<policies flags="28" />
</admin>

Ahora, hagamos una tarea para añadir esas entradas en dicho archivo XML cuando sea necesario.

Nota : Primero, Busybox es necesario para la tarea, pero puedes prescindir de su necesidad y utilizar la funcionalidad incorporada de Tasker para la ordenación si te fijas en la acción que he propuesto para habilitar ADM. En segundo lugar, mi solución ha sido probada en Android 5.0.2 y 5.1.1, pero debería funcionar también en otras versiones de Android con pocos ajustes.

  1. Cree una tarea denominada "Habilitar ADM".
  2. Cree las siguientes acciones en esa tarea:

    1. Código → Ejecutar Shell ,

      • Comando :

        if [ "$(grep -o '</policies>' /data/system/device_policies.xml)" != "</policies>" ]; then sed -i 's/<policies setup-complete="true" \/>/<policies setup-complete="true" \/>\n<admin name="com.google.android.gms\/com.google.android.gms.mdm.receivers.MdmDeviceAdminReceiver">\n<policies flags="28" \/>\n<\/admin>\n<\/policies>/g' /data/system/device_policies.xml; fi; if [ "$(grep -o 'com.google.android.gms/' /data/system/device_policies.xml)" != "com.google.android.gms/" ]; then sed -i 's/<\/policies>/<admin name="com.google.android.gms\/com.google.android.gms.mdm.receivers.MdmDeviceAdminReceiver">\n<policies flags="28" \/>\n<\/admin>\n<\/policies>/g' /data/system/device_policies.xml; fi

        El comando puede parecer un poco incomprensible al principio, pero en realidad es sencillo. El comando completo consiste en dos simples condiciones y acciones. La primera si es comprobar si </policies> está disponible en el archivo o no. Si alguna aplicación está habilitada como administrador del dispositivo, el receptor y la bandera de la aplicación se mostrarán entre <policies setup-complete="true"> y </profiles> . Si ninguna de las aplicaciones está activada, entonces </policies> no aparecería para que podamos añadir fácilmente las entradas de ADM en el archivo.

        El segundo si es comprobar si el ADM ya está activado o no. Si no lo está, entonces añade las entradas para habilitarlo.

      • Consulte Utilizar root

    2. Código → Ejecutar Shell ,

      • Comando : setprop ctl.restart zygote

        Esto reiniciaría el dispositivo.

      • Consulte Utilizar root

    3. En lugar de un reinicio suave, puede optar por un reinicio normal desde Sistema → Reiniciar → Tipo: Normal

  3. Crear un perfil de evento desde Evento → Teléfono → Texto recibido y se establece,

    • Tipo: SMS
    • Remitente : Elija un número o déjelo en blanco
    • Contenido : Especifique qué debe haber en el texto para activar la tarea, como " ¡Yo, chico! ". Alternativamente, puede evitar esta etapa y dejar todo más o menos global, pero utilizar una acción o más en una tarea para una mayor complejidad, así como la flexibilidad.
  4. Asigne la tarea al perfil.

Eso es. Ya puedes probar tu perfil. Debería funcionar sin problemas. Si no lo hace, entonces no tengo la culpa. Siga solucionando problemas, ya que ahora conoce el concepto.

0voto

The3rdIcon Puntos 95

Todavía no he visto un plugin o una tercera aplicación que te permita hacer esto.

Todavía es posible tener tasker habilitar los privilegios de administrador de dispositivos a "Android Device Manager". El problema es que, en ausencia de un plugin, lo más probable es que tengas que habilitar el Administrador de dispositivos Android mediante una serie de toques y deslizamientos simulados. Como medida de seguridad, este método no es en absoluto práctico, ya que la persona podría ver lo que está pasando.

Honestamente, sugeriría invertir en Cerberus . Puede ocultarse y responder a mensajes de prueba y comandos que pueden ser enviados desde la web. Puedes encontrar muchas historias en reddit sobre cómo esta aplicación ha permitido a la gente recuperar sus teléfonos.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X