답변:
불가능합니다. 이를 방지하기 위해 설정 코드 가 특별히 작성되었습니다. 가장 가까운 것은 설정 앱 에서 장치 관리 설정 페이지 를 불러오는 것 입니다. 당신은 이것을 할 수 있습니다 :
adb shell am start -S "'com.android.settings/.Settings\$DeviceAdminSettingsActivity'"
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
따옴표없이 해야합니다
루트없이 Android 7.0에서 테스트하고 작업 :
adb shell
dpm set-active-admin --user current com.company.foo.bar.package/.the.Admin.Reciever
설치된 패키지의 관리자 수신자를 찾으려면 다음을 사용하여 adb shell 명령을 실행하고 출력을 검토하십시오.
adb shell
pm dump com.company.foo.bar.package | grep ' filter' | cut -d ' ' -f 12 | sort | uniq
실제 예제를 제공하기 위해 IBM의 Maas360 Android 클라이언트를 디바이스 관리자로 활성화하는 데 사용되는 명령은 다음과 같습니다.
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
예, 루트 액세스 권한이 있다면 제공됩니다. 파일에 앱의 수신자와 정책 플래그를 추가해야합니다 /data/system/device_policies.xml
. 예를 들어 Tasker 를 장치 관리자 로 활성화 하려면 해당 파일에 다음 줄을 추가하십시오.
Android 5.x의 경우 :</policies>
시스템에 이미 장치 관리자가 활성화되어 있으면 마지막 줄을 제거하십시오 . string 행 뒤에 파일에 행을 추가하면됩니다 <policies setup-complete="true">
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver">
<policies flags="8" />
</admin>
</policies>
Android 4.2.1의 경우 :</policies>
시스템에 이미 장치 관리자가 사용 가능한 경우 마지막 줄을 제거하십시오 . string 행 뒤에 파일에 행을 추가하면됩니다 <policies>
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver">
<policies flags="8" />
</admin>
</policies>
변경 사항을 적용하려면 장치를 재부팅하십시오.
( 비지 박스는 당신이 사용할 수있는 필수) sed
또는 echo
당신이 그 라인을 사용하여 파일을 작성하기에 편안한 걸 모든 명령을 나. 도움이 필요하면 Tasker를 사용하여 특정 앱에 대해 장치 관리자를 활성화하는 방법은 무엇입니까?
이것은 이다 가능합니다. Android의 새로운 도구 UI-Automator를 사용하여 장치 관리자의 "활성화"를 포함하여 시스템의 모든보기 또는 버튼을 클릭하고 상호 작용할 수 있습니다. 방법은 다음과 같습니다.
환경 설정 목록과 상호 작용할 코드를 작성하고 "활성화"를 클릭하십시오. 예:
UiScrollable settingsItem = new UiScrollable (new UiSelector (). className ( "android.widget.ListView")); UiObject listButton = settingsItem.getChildByText (new UiSelector (). className ( "android.widget.LinearLayout"), "장치 관리자 사용"); listButton.click (); (new UiObject (new UiSelector (). text ( "Activate"))). clickAndWaitForNewWindow (); me.celebrateWith (new Beer ());
그것을 컴파일하십시오 : 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
Android Studio에서 기기를 소유자로 설정할 수 있습니다. 먼저 Android SDK의 Platform-tools에있는 adb 위치로 이동 한 다음 adb shell 명령을 실행하십시오. 전체 경로를 제공했으며 adb 경로 및 패키지 이름을 변경할 때 요구 사항을 조정할 수 있습니다
C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools>adb shell dpm set-device-owner package-name/.MyDeviceAdminReceiver
MyDeviceAdminReceiver는 인터페이스입니다.