¿Es posible activar Device Administrator a través del comando ADB en lugar de tocar
"Configuración -> Seguridad -> Administradores de dispositivos -> Seleccionar aplicación -> Activar"
¿en mano?
Si es posible, ¿cómo?
¿Es posible activar Device Administrator a través del comando ADB en lugar de tocar
"Configuración -> Seguridad -> Administradores de dispositivos -> Seleccionar aplicación -> Activar"
¿en mano?
Si es posible, ¿cómo?
Respuestas:
No es posible. El código de configuración está escrito específicamente para evitar esto. Lo más cerca que puede acercarse es abrir la página de configuración de administración del dispositivo en la aplicación Configuración . Puedes hacer esto con:
adb shell am start -S "'com.android.settings/.Settings\$DeviceAdminSettingsActivity'"
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
sin comillas simples
Probado y trabajando en Android 7.0 sin root:
adb shell
dpm set-active-admin --user current com.company.foo.bar.package/.the.Admin.Reciever
Para encontrar el receptor de administrador de un paquete instalado, use lo siguiente para adb shell command y revise el resultado:
adb shell
pm dump com.company.foo.bar.package | grep ' filter' | cut -d ' ' -f 12 | sort | uniq
Para dar un ejemplo del mundo real, aquí está el comando utilizado para activar el cliente Android Maas360 de IBM como administrador del dispositivo:
adb shell
pm dump com.fiberlink.maas360.android.control | grep ' filter' | cut -d ' ' -f 12 | sort | uniq
Output:
…
com.fiberlink.maas360.android.control/.receivers.GoogleCampaignReceiver
com.fiberlink.maas360.android.control/.receivers.LocalEventReceiver
com.fiberlink.maas360.android.control/.receivers.Maas360DeviceAdminReceiver <-- This is the one I want
com.fiberlink.maas360.android.control/.receivers.Maas360SecondaryDeviceAdminReceiver
…
Set Device Admin:
dpm set-active-admin --user current com.fiberlink.maas360.android.control/.receivers.Maas360DeviceAdminReceiver
Sí, siempre que tenga acceso de root. Tendría que agregar el receptor de la aplicación y el indicador de política en el archivo /data/system/device_policies.xml
. Por ejemplo, para habilitar Tasker como administrador del dispositivo, agregue las siguientes líneas en dicho archivo,
Para Android 5.x: elimine la última línea con </policies>
si ya hay un Administrador de dispositivos habilitado en el sistema. Simplemente agregue las líneas en el archivo después de la línea con cadena <policies setup-complete="true">
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver">
<policies flags="8" />
</admin>
</policies>
Para Android 4.2.1: elimine la última línea con </policies>
si ya hay un Administrador de dispositivos habilitado en el sistema. Simplemente agregue las líneas en el archivo después de la línea con cadena <policies>
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver">
<policies flags="8" />
</admin>
</policies>
Reinicie el dispositivo para que los cambios surtan efecto.
(Se requiere Busybox ) Puede usar sed
o echo
cualquier comando con el que se sienta cómodo para escribir el archivo con esas líneas. Para obtener ayuda, consulte mi respuesta aquí: ¿Cómo habilitar el administrador del dispositivo para aplicaciones específicas usando Tasker?
Esto es posible Puede utilizar la nueva herramienta UI-Automator de Android para hacer clic e interactuar con cualquier vista o botón en el sistema, incluido presionar "Activar" para el administrador del dispositivo. Así es cómo:
Escriba un código para interactuar con su lista de preferencias y haga clic en "Activar". Ejemplo:
UiScrollable settingsItem = new UiScrollable (new UiSelector (). ClassName ("android.widget.ListView")); UiObject listButton = settingsItem.getChildByText (nuevo UiSelector (). ClassName ("android.widget.LinearLayout"), "Activar administrador de dispositivo"); listButton.click (); (nuevo UiObject (nuevo UiSelector (). text ("Activate"))). clickAndWaitForNewWindow (); me.celebrateWith (nueva cerveza ());
Compilarlo: ant build
adb -d push bin/LookoutTest.jar /data/local/tmp/
adb shell am start -S "'com.android.settings/.Settings\$DeviceAdminSettingsActivity'"
adb -d shell uiautomator runtest LookoutTest.jar -c DALaunch
Puede configurar el dispositivo como propietario desde Android Studio. Primero vaya a la ubicación adb que se encuentra en Platform-tools en Android Sdk y luego ejecute el comando adb shell. He dado la ruta completa y puede ajustar a su requerimiento al cambiar la ruta adb y el nombre del paquete
C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools>adb shell dpm set-device-owner package-name/.MyDeviceAdminReceiver
MyDeviceAdminReceiver es la interfaz.