android एंड्रॉइड में प्रोग्रामेन्टिक रूप से सक्षम/अक्षम पहुंच योग्यता सेवा कैसे करें




service accessibility (6)

मैं सेटिंग्स-> ऐक्सेसिबिलिटी विकल्प के अंतर्गत सूचीबद्ध प्रोग्राम को सक्षम / अक्षम पहुँच योग्यता को सक्षम करना चाहता हूं।

मैं नीचे की तरह एक्सेसिबिलिटी इंटेन्ट शुरू कर सकता हूं:

Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS);
startActivityForResult(intent, 0);

लेकिन मेरे पास मेरे कोड के माध्यम से देखने वाली सेवाओं को सक्षम करने के बारे में कोई भी विचार नहीं है I

कृपया, मुझे अपना विचार दें


बस जब कोई भी अभी भी आपके लॉक स्क्रीन में चिपका रहे हैं जब एडीबी से बात-बबंद बंद करने का प्रयास करता है पासवर्ड या पिन दर्ज एक बात जो आप कोशिश कर सकते हैं adb shell am force-stop com.google.android.marvin.talkback


मुझे यह पोस्ट मिली: प्रोग्राम की जांच कैसे करें कि क्या एंड्रॉइड मैनिफेस्ट.एक्सएमएल में एक सेवा की घोषणा की गई है? । पैकेज मैनेजर के बारे में शीर्ष उत्तर वार्ता, जो आपको बताता है कि क्या चल रहा है।


एंड्रॉइड 7 (एपीआई 24) में, एक ऐक्सेसिबिलिटी सर्विस प्रोग्राम को अपैच्छिक () विधि को कॉल करके खुद को अक्षम कर सकती है।


पहुंच क्षमताविशेष विशेष है और प्रोग्रामेटिक रूप से शुरू नहीं किया जा सकता है


सबसे अच्छा आप कर सकते हैं मैन्युअल रूप से एक्सेसबिली सेटिंग खोलें:

आशय का इरादा = नया आशय (सेटिंग्स.एक्शन_एसीसीआईएसआईआईबीआईएलआईटीआईएसटीटीईएसएस)

और आशय शुरू करें - आप इसे प्रीफ़र्नेसी xml फ़ाइल से भी कर सकते हैं:

एंड्रॉइड ऐड्रेस: ​​एक्शन = "android.settings.ACCESSIBILITY_SETTINGS"


मुझे फोन करके मेरे लिए एक समाधान मिला

Settings.Secure.putString(getContentResolver(), 
    Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, "pkgname/classname");
Settings.Secure.putString(getContentResolver(), 
    Settings.Secure.ACCESSIBILITY_ENABLED, "1");

जहां pkgname आपके पैकेज का नाम है और pkgname आपके पहुंच योग्यता सेवा का वर्ग नाम है

यदि आपको कई सेवाओं को सक्षम करने की ज़रूरत है या आप उन पिछली सेटिंग्स को नष्ट करना नहीं चाहते हैं जिन्हें आप उपयोग करना चाहते हैं : अन्य सेवाओं को अलग करने के लिए

इसके अलावा आपको सिस्टम एप्लिकेशन के रूप में चलाने की आवश्यकता हो सकती है और आपको निम्न अनुमतियों की आवश्यकता हो सकती है

<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />

हालांकि, @ रूपर्ट रावनस्ले के अनुसार, यह एंड्रॉइड के कुछ संस्करणों पर काम नहीं करेगा, मैं एंड्रॉइड 4.0.4 पर काम कर रहा हूं और यह आशा करता हूं कि यह आपके लिए काम करेगी

पुनश्च। अगर यह काम नहीं कर रहा है, तो शायद आप /data/data/com.android.providers.settings/databases/settings.db/secure में कुछ किस्मत पा सकते हैं, यही वह जगह है जहां एंड्रॉइड स्टोर सुरक्षित सेटिंग्स हैं





accessibility