关闭状态下的Android AccessibilityService

时间:2014-12-26 01:24:15

标签: android accessibilityservice

我正在使用 AccessibilityService 来监控通知。我关注thisthis。最后,它工作,我了解新的通知。

但是,要连接 AccessibilityService ,我需要让用户从 ACCESSIBILITY_SETTINGS 启用它,我这样做:

Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS);
startActivityForResult(intent, 0);

但是,问题是我想检查用户是否启用了它(AccessibilityService)。另外,如果用户已启用它,我不会再次要求用户启用它。那么,有可能这样做吗?

1 个答案:

答案 0 :(得分:1)

您可以通过检查安全设置来测试用户是否已启用辅助功能服务。 Settings.Secure.getString()会为您提供:个已启用服务的单独列表,您可以检查自己的服务是否存在。像这样:

ComponentName compName = new ComponentName(context, MyAccessibilityService.class);
String flatName = compName.flattenToString();
String enabledList = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
boolean isEnabled = enabledList != null && enabledList.contains(flatName);