2

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

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

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

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

4

2 回答 2

7

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);
于 2015-08-14T14:27:25.823 回答
3

如何为可能的应用程序实现相同的功能

出于明显的隐私和安全原因,您不能这样做。AnAccessibilityService可以广泛访问用户对设备用户界面所做的操作,因此,用户必须同意通过“设置”应用程序将其作为单独的操作启用。

于 2015-08-14T12:35:56.257 回答