Android 为什么我的辅助功能服务要求全屏控制?
我有以下辅助功能配置文件,其中禁用了窗口检索,我只想筛选关键事件:Android 为什么我的辅助功能服务要求全屏控制?,android,android-service,android-accessibility,Android,Android Service,Android Accessibility,我有以下辅助功能配置文件,其中禁用了窗口检索,我只想筛选关键事件: <?xml version="1.0" encoding="utf-8"?> <accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" android:accessibilityFlags="flagRequestFilterKeyEvents" android:canRequestFilt
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityFlags="flagRequestFilterKeyEvents"
android:canRequestFilterKeyEvents="true"
android:canRequestTouchExplorationMode="false"
android:canRetrieveWindowContent="false"
android:description="@string/permissions_accessibility_description"
android:settingsActivity="" />
有什么方法可以消除我根本不感兴趣的“查看和控制屏幕”警告吗?我也很好奇,因为我正在编写一个无障碍服务,它不以任何方式“查看”或“控制”屏幕,在AndroidManifest.xml文件中不请求此类权限,因此,看到我的服务出现了这个对话框,我感到很惊讶
事实证明,该对话框是为您的AccessibilityService显示的,因为该对话框本质上是硬编码的,以便在启用任何AccessibilityService时显示
如果Android文档以任何方式提到了这一点,或者向开发人员解释了出现对话框的原因,那么这是合理的,但Android文档没有
如果我们研究一下,有3种情况下会发出(相同的)警告来启用服务,1种情况下会在禁用服务时发出警告,还有一种情况是默认情况(这可能是Java代码的“良好实践”,我怀疑它是否真的作为代码执行)
这不是一个“真正”的解决方案,但作为一种折衷,我们总是可以提到可访问性服务的描述
XML属性
XML标签,Android在我们的应用程序需要任何(或全部)这些功能、链接到我们的源代码等方面完全撒谎