fand ich eine Lösung für mich gearbeitet durch
Settings.Secure.putString(getContentResolver(),
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, "pkgname/classname");
Settings.Secure.putString(getContentResolver(),
Settings.Secure.ACCESSIBILITY_ENABLED, "1");
Aufruf Wo die pkgname
Ihre Paketnamen und die classname
ist der Klassenname Ihres Zugänglichkeit Service.
Wenn Sie mehrere Dienste aktivieren müssen oder die vorherigen Einstellungen nicht löschen möchten, können Sie :
verwenden, um andere Dienste zu trennen.
Darüber hinaus müssen Sie möglicherweise als System Anwendung auszuführen und Sie könnten die folgenden Berechtigungen
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
Allerdings müssen nach @Rupert Rawnsley dies nicht auf einigen Versionen von Android funktionieren könnte, ich bin auf Android 4.0.4 und hoffe es funktioniert für dich.
PS. Wenn es nicht funktioniert, könnten Sie vielleicht Glück in /data/data/com.android.providers.settings/databases/settings.db/secure
finden, dort speichert Android sichere Einstellungen.
Von [dieser] (http://stackoverflow.com/questions/5081145/android-how-do-you-check-if-a-particular-accessibilityservice-is-enabled/5106419 # 5106419), der aktivierte AccessibilityService wird als String von 'Settings.Secure.getString (getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES)' gespeichert. Ist es nicht möglich, AccessibilityService zu aktivieren, indem Sie dem String-Format folgen und 'Settings.Secure.putString (...)' aufrufen, sobald die App über Systemprivilegien verfügt? – Yeung
@Yeung Im Prinzip, aber in der Praxis habe ich festgestellt, dass dies abhängig von der Version von Android und dem Gerät Hit-and-Miss ist. Der Prozess, der Accessibility Services steuert, sieht diese Änderungen nicht immer ohne Neustart. In unserer App leiten wir den Nutzer auf die Einstellungsseite und lassen ihn den Service für uns aktivieren. –
@Yeung Settings.Secure.putString (...) funktioniert nur für Systemanwendungen. Für andere Anwendungen, Android nicht zulassen, Zugänglichkeitsdienst programmgesteuert zu drehen – Kushal