क्या टैपिंग के बजाय एडीबी कमांड के माध्यम से डिवाइस प्रशासक को सक्रिय करना संभव है
"सेटिंग -> सुरक्षा -> डिवाइस प्रशासक -> ऐप चुनें -> सक्रिय करें"
हाथ पर?
यदि यह संभव है, तो कैसे?
क्या टैपिंग के बजाय एडीबी कमांड के माध्यम से डिवाइस प्रशासक को सक्रिय करना संभव है
"सेटिंग -> सुरक्षा -> डिवाइस प्रशासक -> ऐप चुनें -> सक्रिय करें"
हाथ पर?
यदि यह संभव है, तो कैसे?
जवाबों:
यह मुमकिन नहीं है। इसे रोकने के लिए सेटिंग कोड विशेष रूप से लिखा गया है। निकटतम आप आ सकते हैं सेटिंग ऐप में डिवाइस प्रशासन सेटिंग्स पृष्ठ को लाने के लिए । आप इसके साथ कर सकते हैं:
adb shell am start -S "'com.android.settings/.Settings\$DeviceAdminSettingsActivity'"
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
एकल उद्धरण के बिना होना चाहिए
परीक्षण और जड़ के बिना एंड्रॉइड 7.0 पर काम करना:
adb shell
dpm set-active-admin --user current com.company.foo.bar.package/.the.Admin.Reciever
स्थापित पैकेज के व्यवस्थापक रिसीवर को खोजने के लिए, adb शेल कमांड के लिए निम्नलिखित का उपयोग करें और आउटपुट की समीक्षा करें:
adb shell
pm dump com.company.foo.bar.package | grep ' filter' | cut -d ' ' -f 12 | sort | uniq
एक वास्तविक दुनिया का उदाहरण देने के लिए, यहां एक उपकरण व्यवस्थापक के रूप में IBM के Maas360 एंड्रॉइड क्लाइंट को सक्रिय करने के लिए कमांड का उपयोग किया गया है:
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 उपकरण व्यवस्थापक कहा फ़ाइल में निम्न पंक्तियाँ जोड़ें के रूप में,
एंड्रॉइड 5.x के लिए:</policies>
यदि सिस्टम में पहले से ही डिवाइस प्रशासक सक्षम है, तो अंतिम पंक्ति को हटा दें । बस स्ट्रिंग के साथ लाइन के बाद फ़ाइल में लाइनें जोड़ें <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>
यदि सिस्टम में पहले से ही डिवाइस प्रशासक सक्षम है, तो अंतिम पंक्ति को हटा दें । बस स्ट्रिंग के साथ लाइन के बाद फ़ाइल में लाइनें जोड़ें <policies>
।
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver">
<policies flags="8" />
</admin>
</policies>
परिवर्तनों को प्रभावी करने के लिए डिवाइस को रिबूट करें।
( बिजीबॉक्स ) की आवश्यकता आप उपयोग कर सकते हैं sed
या echo
या किसी आदेश है कि आप आराम से उन पंक्तियों के साथ फ़ाइल में लिखने का साथ कर रहे हैं। किसी भी मदद के लिए, यहां मेरा जवाब देखें: टास्कर का उपयोग करके विशिष्ट एप्लिकेशन के लिए डिवाइस व्यवस्थापक कैसे सक्षम करें?
यह है संभव। आप डिवाइस व्यवस्थापक के लिए "सक्रिय करें" मारने सहित सिस्टम पर किसी भी दृश्य या बटन के साथ क्लिक करने और बातचीत करने के लिए एंड्रॉइड के नए टूल यूआई-ऑटोमेटर का उपयोग कर सकते हैं। ऐसे:
अपनी वरीयताओं की सूची के साथ बातचीत करने के लिए कुछ कोड लिखें और "सक्रिय करें" पर क्लिक करें। उदाहरण:
UiScrollable settingsItem = new UiScrollable (नया UiSelector ()); className ("android.widget.ListView")); UiObject listButton = settingsItem.getChildByText (नया UiSeoror (); className ("android.widget.LinearLayout"), "डिवाइस व्यवस्थापक सक्षम करें"); listButton.click (); (new UiObject (नया UiSelector ()। text ("Activate")))। clickAndWaitForNewWindow (); me.celebrateWith (नई बीयर ());
इसे संकलित करें: 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 से स्वामी के रूप में सेट कर सकते हैं। सबसे पहले adb लोकेशन पर जाएँ जो Android Sdk में Platform-Tools में है और फिर adb शेल कमांड को रन करें। मेरे पास पूरा रास्ता है और आप अदब पथ और पैकेज नाम बदलने पर अपनी आवश्यकता के अनुसार समायोजित कर सकते हैं
C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools>adb shell dpm set-device-owner package-name/.MyDeviceAdminReceiver
MyDeviceAdminReceiver इंटरफ़ेस है।