以编程方式启用/禁用Android设备上的辅助功能设置

Joh*_*ner 10 android accessibility kiosk

如何以编程方式启用/禁用AndroidB屏幕阅读器服务,如TalkBack?

我正在开发一个自助服务终端类型的应用程序,它将安装在Android设备上,当他们访问特定的博物馆时将被借给访问者.(我们仍然在确定我们将使用什么设备.)计划是仅允许用户使用我们的应用程序而无法访问android设置应用程序.但是,我们希望允许用户配置一些辅助功能设置.完成设备后,我们需要将所有设置恢复为默认设置.

以下链接中的讨论有很多建议启动Android的设置应用.但我们不希望用户访问许多其他设置.

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

abh*_*esh 7

只有系统应用程序才能以编程方式启用/禁用辅助功能服务.系统应用程序可以直接写入设置安全数据库以启动辅助功能服务.

Settings.Secure.putString(getContentResolver(),Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, "com.packagename/com.packagename.componentname");
Run Code Online (Sandbox Code Playgroud)

在设置安全db中写入以下权限:

<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
Run Code Online (Sandbox Code Playgroud)

对于非系统应用程序,只有启动辅助功能服务的方法是通过意图将它们引导到辅助功能设置屏幕,并让用户手动启动服务:

Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
Run Code Online (Sandbox Code Playgroud)