我正在尝试在应用程序启动后立即为我的应用程序启用“辅助功能”设置。但我目前无法做到这一点。我使用了以下代码:
Settings.Secure.putString(getContentResolver(),
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES,
"package_name");
Settings.Secure.putString(getContentResolver(),
Settings.Secure.ACCESSIBILITY_ENABLED,
"1");
要使用此代码段,我们必须声明以下权限:
WRITE_SECURE_SETTINGS,但此权限仅适用于系统应用程序。如何为我的应用程序实现相同的功能。欢迎提出所有建议。
答案 0 :(得分:4)
API说:Settings.Secure是
用户必须明确修改的首选项 系统UI 或这些值的专用API,不直接修改 通过申请。
如果要以编程方式检查以提示用户,请参阅android-how-do-you-check-if-a-particular-accessibilityservice-is-enabled。调用意图的代码例如在how-to-programmatically-enable-disable-accessibility-service-in-android中给出,它是
Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS); startActivityForResult(intent, 0);
答案 1 :(得分:3)
如何为may应用程序实现相同的功能
你不能,因为隐私和安全原因非常明显。 AccessibilityService
可以广泛访问用户使用设备的用户界面执行的操作,因此,用户必须同意通过“设置”应用将其作为单独的操作启用。