如何以编程方式在Android中启用/禁用辅助功能服务?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (299)

我想以编程方式启用/禁用“设置” - >“辅助功能”选项下列出的辅助功能服务。

我可以像下面这样启动Accessibility Intent:

Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS);
startActivityForResult(intent, 0);
提问于
用户回答回答于

AccessibilityService是特殊的,不能以编程方式启动。

用户回答回答于

我找到了一个适用于我的解决方案:

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

如果你需要启用多项服务,或者你不想破坏以前的设置,则可能需要使用这些设置

此外,你可能需要以系统应用程序的身份运行,并且你可能需要以下权限:

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

PS。如果它不起作用,也许你可以找到一些运用方法:气/data/data/com.android.providers.settings/databases/settings.db/secure,这就是Android存储安全设置的地方。

扫码关注云+社区