É possível ativar o Administrador de dispositivos via comando ADB em vez de tocar
"Configuração -> Segurança -> Administradores de dispositivos -> Selecionar aplicativo -> Ativar"
no computador de mão?
Se é possível, como?
É possível ativar o Administrador de dispositivos via comando ADB em vez de tocar
"Configuração -> Segurança -> Administradores de dispositivos -> Selecionar aplicativo -> Ativar"
no computador de mão?
Se é possível, como?
Respostas:
Não é possível. O código de configurações foi escrito especificamente para evitar isso. O mais próximo que você pode chegar é abrir a página de configurações de administração do dispositivo no aplicativo Configurações . Você pode fazer isso com:
adb shell am start -S "'com.android.settings/.Settings\$DeviceAdminSettingsActivity'"
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Sem aspas simples
Testado e funcionando no Android 7.0 sem raiz:
adb shell
dpm set-active-admin --user current com.company.foo.bar.package/.the.Admin.Reciever
Para encontrar o receptor do administrador de um pacote instalado, use o seguinte para adb shell command e revise a saída:
adb shell
pm dump com.company.foo.bar.package | grep ' filter' | cut -d ' ' -f 12 | sort | uniq
Para dar um exemplo do mundo real, aqui está o comando usado para ativar o cliente Maas360 Android da IBM como um administrador de 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
Sim, desde que você tenha acesso root. Você precisaria adicionar o destinatário do aplicativo e o sinalizador de política no arquivo /data/system/device_policies.xml
. Por exemplo, para ativar o Tasker como administrador do dispositivo, adicione as seguintes linhas no arquivo mencionado,
Para Android 5.x: remova a última linha com </policies>
se já houver um administrador de dispositivos habilitado no sistema. Simplesmente adicione as linhas no arquivo após a linha com string <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: remova a última linha com </policies>
se já houver um administrador de dispositivos habilitado no sistema. Simplesmente adicione as linhas no arquivo após a linha com string <policies>
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver">
<policies flags="8" />
</admin>
</policies>
Reinicie o dispositivo para que as alterações entrem em vigor.
( Busybox obrigatório) Você pode usar sed
ou echo
qualquer comando com o qual se sinta à vontade para gravar o arquivo com essas linhas. Para qualquer ajuda, consulte minha resposta aqui: Como habilitar o administrador do dispositivo para aplicativos específicos usando o Tasker?
Isso é possível. Você pode usar a nova ferramenta UI-Automator do android para clicar e interagir com qualquer visualização ou botão do sistema, incluindo "Ativar" para o administrador do dispositivo. Aqui está como:
Escreva um código para interagir com sua lista de preferências e clique em "Ativar". Exemplo:
UiScrollable settingsItem = new UiScrollable (novo UiSelector (). ClassName ("android.widget.ListView")); UiObject listButton = settingsItem.getChildByText (novo UiSelector (). ClassName ("android.widget.LinearLayout"), "Ativar administrador do dispositivo"); listButton.click (); (novo UiObject (novo UiSelector (). texto ("Ativar")))). clickAndWaitForNewWindow (); me.celebrateWith (new Beer ());
Compile-o: 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
você pode definir o dispositivo como proprietário no Android Studio. Primeiro, vá para o local adb, que está em Platform-tools no Android Sdk e, em seguida, execute o comando adb shell. Forneci o caminho completo e você pode ajustar conforme sua necessidade ao alterar o caminho adb e o nome do pacote
C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools>adb shell dpm set-device-owner package-name/.MyDeviceAdminReceiver
MyDeviceAdminReceiver é a interface.