如何在应用程序启动后立即为我的应用程序启用辅助功能设置

时间:2015-08-14 12:32:52

标签: android android-permissions accessibilityservice

我正在尝试在应用程序启动后立即为我的应用程序启用“辅助功能”设置。但我目前无法做到这一点。我使用了以下代码:

 Settings.Secure.putString(getContentResolver(), 
                           Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, 
                           "package_name");
 Settings.Secure.putString(getContentResolver(), 
                           Settings.Secure.ACCESSIBILITY_ENABLED, 
                           "1");

要使用此代码段,我们必须声明以下权限:

WRITE_SECURE_SETTINGS,但此权限仅适用于系统应用程序。如何为我的应用程序实现相同的功能。欢迎提出所有建议。

2 个答案:

答案 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可以广泛访问用户使用设备的用户界面执行的操作,因此,用户必须同意通过“设置”应用将其作为单独的操作启用。