Activați Device Administrator prin ADB
On februarie 17, 2021 by adminEste posibil să activați Device Administrator prin comanda ADB în loc să atingeți
„Setare -> Securitate -> Administratori de dispozitive -> Selectați aplicația -> Activați”
pe handheld?
Dacă este posibil, cum?
Comentarii
- Ar trebui să luați în considerare acceptarea вʀaᴎᴅᴏƞ вєнᴎєƞ ‘ răspuns deoarece funcționează perfect !!
Răspuns
Nu este posibil. Codul de setări este scris special pentru a preveni acest lucru. Cel mai aproape puteți veni este să afișați pagina Setări de administrare a dispozitivului în pagina Setări aplicație. Puteți face acest lucru cu:
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Comentarii
- Mulțumesc Dan, mică corecție: ar trebui să fie
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Fără ghilimel unic - În majoritatea shell-urilor, acea comandă va porni doar Setări , nu Setările de administrare a dispozitivului pagina. Aici ‘ s Izzy ‘ explicația de ce .
- Ce zici de dezactivare? este posibil acest lucru?
Răspuns
Testat și funcționând pe Android 7.0 fără root:
adb shell dpm set-active-admin --user current com.company.foo.bar.package/.the.Admin.Reciever
Pentru a găsi receptorul de administrator al unui pachet instalat, utilizați următoarele pentru a comanda adb shell și a examina rezultatul:
adb shell pm dump com.company.foo.bar.package | grep " filter" | cut -d " " -f 12 | sort | uniq
Pentru a da un exemplu real, iată comanda utilizată pentru activarea clientului IBM Maas360 Android ca administrator de dispozitiv:
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
Comentarii
- FUNCȚIONEAZĂ! Acesta trebuie să fie răspunsul acceptat! Am o singură întrebare, este posibil să adaug un plus la acea comandă? Trebuie să solicit dreptul de activare a licenței Samsung Knox după activarea administratorului și aș dori să trec cheia de licență ‘ ca supliment (deci nu trebuie să o stochez în codul meu sau pe dispozitivul meu)
- Rețineți că
dpm set-active-admin
nu este disponibil pe Android 5, dar puteți obține un efect similar folosinddpm set-device-owner
Răspuns
Da, cu condiția să aveți acces root. Ar trebui să adăugați receptorul aplicației și marcajul politicii în fișierul /data/system/device_policies.xml
. De exemplu, pentru a activa Tasker ca administrator de dispozitiv adăugați următoarele rânduri în fișierul menționat,
Pentru Android 5.x: Eliminați ultima linie cu </policies>
dacă există deja un administrator de dispozitiv activat în sistem. Adăugați pur și simplu liniile din fișier după linia cu șirul <policies setup-complete="true">
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver"> <policies flags="8" /> </admin> </policies>
Pentru Android 4.2.1: Eliminați ultima linie cu </policies>
dacă există deja un administrator de dispozitiv activat în sistem. Adăugați pur și simplu liniile din fișier după linia cu șirul <policies>
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver"> <policies flags="8" /> </admin> </policies>
Reporniți dispozitivul pentru ca modificările să aibă efect.
( Busybox este necesar) Puteți utiliza sau echo
sau orice comandă cu care vă simțiți bine să scrieți fișierul cu acele linii. Pentru ajutor, consultați răspunsul meu aici: Cum se activează administratorul dispozitivului pentru anumite aplicații folosind Tasker?
Răspuns
puteți seta dispozitivul ca proprietar din Android Studio. Mai întâi mergeți la locația adb care este la Platform-tools în Android Sdk și apoi rulați comanda adb shell. Am dat calea completă și vă puteți adapta la cerințele dvs. la schimbarea căii adb și a numelui pachetului
C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools>adb shell dpm set-device-owner package-name/.MyDeviceAdminReceiver
MyDeviceAdminReceiver este interfața.
Comentarii
- Rețineți că, odată ce o aplicație este setată ca proprietar , este foarte greu să anulați acest lucru
- hi @Sam Știu, dar, din fericire, putem face acest lucru prin codificare pentru a anula proprietarul
Răspunde
Acest este posibil. Puteți utiliza noul instrument Android UI-Automator pentru a face clic și a interacționa cu orice vizualizare sau buton din sistem, inclusiv apăsând „Activare” pentru administratorul dispozitivului. Iată cum:
- Obțineți UI-Automator rulează. (accesați „Configurați-vă mediul de dezvoltare” și configurați un nou proiect Java).
-
Scrieți un cod pentru a interacționa cu lista de preferințe și faceți clic pe „Activați”. Exemplu:
UiScrollable settingsItem = new UiScrollable (new UiSelector (). ClassName („android.widget.ListView”)); UiObject listButton = settingsItem.getChildByText (nou UiSelector ().className („android.widget.LinearLayout”), „Activați dispozitivul de administrare”); listButton.click (); (new UiObject (new UiSelector (). text („Activate”))). clickAndWaitForNewWindow (); me.celebrateWith (new Beer ());
-
Compilați-l:
ant build
- Apăsați fișierul jar:
adb -d push bin/LookoutTest.jar /data/local/tmp/
- Lansați activitatea de setări:
adb shell am start -S ""com.android.settings/.Settings\$DeviceAdminSettingsActivity""
- Rulați automatizare:
adb -d shell uiautomator runtest LookoutTest.jar -c DALaunch
- Petrecere.
Comentarii
- Va funcționa chiar dacă localizarea curentă a dispozitivului nu este ‘ engleză?
Lasă un răspuns