如何以编程方式启用/禁用 Android 屏幕阅读器服务,例如 TalkBack?
我正在开发一个信息亭类型的应用程序,该应用程序将安装在 Android 设备上,该设备将在参观特定博物馆时借给游客。 (我们仍在确定我们将使用什么设备。)计划是只允许用户使用我们的应用程序,而不能访问 android 设置应用程序。但是,我们希望允许用户配置一些辅助功能设置。当他们使用完设备后,我们需要将所有设置恢复为默认设置。
下面链接中的讨论有很多建议启动 Android 的“设置”应用程序。但我们不希望用户访问许多其他设置。
How to Programmatically Enable/Disable Accessibility Service in Android
最佳答案
只有系统应用程序才能以编程方式启用/禁用无障碍服务。 系统应用可以直接在settings secure db中写入启动accessibility service。
Settings.Secure.putString(getContentResolver(),Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, "com.packagename/com.packagename.componentname");
写入设置安全数据库需要以下权限:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
对于非系统应用程序,启动辅助功能服务的唯一方法是通过 intent 将它们引导至辅助功能设置屏幕,然后让用户手动启动服务:
Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
关于android - 以编程方式启用/禁用 Android 设备上的辅助功能设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38360198/