我正在开发一个需要使用Android可访问性服务的Android应用程序。
我把一切都做好了:
onAccessibilityEvent但是,当我试图检查用户是否启用了可访问性设置/权限时,通过调用checkSelfPermission,它总是返回“-1”,即BIND_ACCESSIBILITY_SERVICE的PERMISSION_DENIED。
我是不是遗漏了什么?
是否可以检查是否启用了设置/权限?
AccessibiliyService是特例吗?您不能正常检查权限吗?
我可以通过在我的AccessbilityService中第一次运行时在它中设置一个静态变量AccessbilityService来解决这个问题,但是这感觉有点混乱。
谢谢,这一天,我一直在为这件事苦苦挣扎。
我尝试过请求许可:
澄清:
我打算检查可访问性服务“权限”,看看用户是否已经启用了它,如果没有,则通过设置正确地提示需要启用的用户。
发布于 2019-07-22 16:22:22
据我所知,你不需要检查这个许可。它在服务标签中声明,以确保只有Android系统才能绑定到它(并禁止任何其他第三方应用程序绑定到它)。
我能问一下为什么要检查这个权限作为正常权限吗?
有关AccessibilityService的更多信息,请查看文档:https://developer.android.com/guide/topics/ui/accessibility/service#manifest
澄清后的更新:
检查您的可访问性服务是否由用户打开可能很棘手。据我所知,它不能通过可访问性API完成。在这里可以找到一些解决办法:Detect if my accessibility service is enabled和Android: How do you check if a particular AccessibilityService is enabled
https://stackoverflow.com/questions/57149474
复制相似问题