Yanıtlar:
Bu mümkün değil. Bunu önlemek için ayar kodu özellikle yazılmıştır. Gelebileceğiniz en yakın ayar , Ayarlar uygulamasında Cihaz yönetimi ayarları sayfasını açmaktır. Bunu aşağıdakilerle yapabilirsiniz:
adb shell am start -S "'com.android.settings/.Settings\$DeviceAdminSettingsActivity'"
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Tek bir teklif olmadan olmalı
Android 7.0'da root olmadan test edildi ve çalışıyor:
adb shell
dpm set-active-admin --user current com.company.foo.bar.package/.the.Admin.Reciever
Yüklü bir paketin yönetici alıcısını bulmak için kabuk komutunu yapıştırmak ve çıktıyı gözden geçirmek üzere aşağıdakileri kullanın:
adb shell
pm dump com.company.foo.bar.package | grep ' filter' | cut -d ' ' -f 12 | sort | uniq
Gerçek bir dünya örneği vermek için, IBM'in Maas360 Android istemcisini bir cihaz yöneticisi olarak etkinleştirmek için kullanılan komut şöyledir:
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
Evet, kök erişiminiz olması koşuluyla. Uygulamanın alıcısını ve ilke bayrağını dosyaya eklemeniz gerekir /data/system/device_policies.xml
. Örneğin, Tasker'ı Cihaz yöneticisi olarak etkinleştirmek için söz konusu dosyaya aşağıdaki satırları ekleyin,
Android 5.x için:</policies>
Sistemde zaten bir Aygıt Yöneticisi etkinleştirilmişse ile son satırı kaldırın . Dize satırından sonra dosyadaki satırları eklemeniz yeterlidir <policies setup-complete="true">
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver">
<policies flags="8" />
</admin>
</policies>
Android 4.2.1 için:</policies>
Sistemde zaten bir Aygıt Yöneticisi etkinleştirilmişse ile son satırı kaldırın . Dize satırından sonra dosyadaki satırları eklemeniz yeterlidir <policies>
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver">
<policies flags="8" />
</admin>
</policies>
Değişikliklerin etkili olması için cihazı yeniden başlatın.
( Busybox kullanabilirsiniz gerekli) sed
veya echo
o çizgilerle dosyası yazmak için uygun olacak herhangi bir komutu veya. Herhangi bir yardım için cevabımı buraya bakın: Tasker kullanarak belirli uygulamalar için cihaz yöneticisini nasıl etkinleştirebilirim?
Bu ise mümkün. Cihaz yöneticisi için "Etkinleştir" tuşuna basmak dahil olmak üzere sistemdeki herhangi bir görünümü veya düğmeyi tıklayıp etkileşimde bulunmak için android'in yeni aracı UI-Automator'ı kullanabilirsiniz. Bunu nasıl yapacağınız aşağıda açıklanmıştır:
Tercihler listenizle etkileşim kurmak için bir kod yazın ve "Etkinleştir" i tıklayın. Misal:
UiScrollable settingsItem = yeni UiScrollable (yeni UiSelector (). ClassName ("android.widget.ListView")); UiObject listButton = settingsItem.getChildByText (yeni UiSelector (). ClassName ("android.widget.LinearLayout"), "Aygıt Yöneticisini Etkinleştir"); listButton.click (); (yeni UiObject (yeni UiSelector (). metin ("Etkinleştir"))). clickAndWaitForNewWindow (); me.celebrateWith (yeni Bira ());
Derleyin: 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
Cihazı Android Studio'dan sahip olarak ayarlayabilirsiniz. Önce Android Sdk'de Platform araçlarında bulunan adb konumuna gidin ve adb shell komutunu çalıştırın. Tam yolu verdim ve adb yolunu ve paket adını değiştirdikten sonra gereksiniminize göre ayarlayabilirsiniz
C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools>adb shell dpm set-device-owner package-name/.MyDeviceAdminReceiver
MyDeviceAdminReceiver arabirimdir.