为何Accessibility Event中getRootInActiveWindow()始终返回null?
AccessibilityService 代码及配置文件
我已尝试了AccessibilityServiceConfig.xml的各类配置组合,测试设备为三星S21 Ultra,以下是相关代码及配置内容:
AccessibilityService 实现代码
@Override public void onAccessibilityEvent(AccessibilityEvent event) { AccessibilityNodeInfo rootNode = getRootInActiveWindow(); } @Override protected void onServiceConnected(){ super.onServiceConnected(); AccessibilityServiceInfo info = new AccessibilityServiceInfo(); info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK; info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN; info.notificationTimeout = 1000; info.flags = AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS; this.setServiceInfo(info); Log.e(TAG,"onServiceConnected: "); }
AccessibilityServiceConfig.xml 配置内容
<?xml version="1.0" encoding="utf-8"?> <accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" android:accessibilityEventTypes="typeWindowsChanged|typeWindowContentChanged|typeViewScrolled" android:accessibilityFlags="flagReportViewIds|flagDefault|flagRetrieveInteractiveWindows|flagIncludeNotImportantViews" android:canPerformGestures="true" android:canRetrieveWindowContent="true" android:canRequestFilterKeyEvents="false" android:accessibilityFeedbackType="feedbackAllMask" android:notificationTimeout="1000" android:canRequestEnhancedWebAccessibility="true"> </accessibility-service>
内容的提问来源于stack exchange,提问作者Yogesh Ghaturle
相关产品推荐
相关产品推荐

