gpt4 book ai didi

Android:如何检查是否启用了特定的 AccessibilityService

转载 作者:IT王子 更新时间:2023-10-29 00:07:28 27 4
gpt4 key购买 nike

我编写了一个需要使用 AccessibilityService 的 Android 应用程序。 .我知道如何检查手机上的辅助功能是否已启用或禁用,但我无法确定我的应用是否已在辅助功能菜单中特别启用。

如果 AccessibilityService 没有运行,我想提示用户,但找不到这样做的好方法。是否有任何我可能遗漏的 API 方法可以让我知道设备上启用了哪些无障碍服务?

最佳答案

自从 API Level 14 ,也可以通过AccessibilityManager获取启用的无障碍服务:

public static boolean isAccessibilityServiceEnabled(Context context, Class<? extends AccessibilityService> service) {
AccessibilityManager am = (AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE);
List<AccessibilityServiceInfo> enabledServices = am.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_ALL_MASK);

for (AccessibilityServiceInfo enabledService : enabledServices) {
ServiceInfo enabledServiceInfo = enabledService.getResolveInfo().serviceInfo;
if (enabledServiceInfo.packageName.equals(context.getPackageName()) && enabledServiceInfo.name.equals(service.getName()))
return true;
}

return false;
}

用法:

boolean enabled = isAccessibilityServiceEnabled(context, MyAccessibilityService.class);

关于Android:如何检查是否启用了特定的 AccessibilityService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5081145/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com