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

标签 android accessibility kiosk

如何以编程方式启用/禁用 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/

相关文章:

java - OpenCV 中 NativeCameraView 和 JavaCameraView 的区别

html - role=dialog 和 role=alertdialog 有什么区别?

pdf-generation - MikTeX 可以创建带标签的 PDF 吗?

jquery - jqGrid 3.8.2 和 508 合规性

没有对话框的 Android 云打印

android - 使用JavaCV在Android上录制视频(2014年02月17日更新)

java - context.getFilesDir() 时文件目录不存在

android - 如何使用 sharedpreferences 禁用单选按钮或单选组?

javascript - 如何使状态栏/地址栏在 Firefox 或 IE 中消失?

.net - 使 Windows 应用程序始终位于其他窗口之上并处于焦点位置 - 始终