在Samsung设备上,AccessibilityEvent的AccessibilityNodeInfo始终为null

问题描述

我正在尝试获取有关AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED的信息,但是在三星设备上,AccessibilityNodeInfo始终为空

我的配置:

AccessibilityService.kt

 override fun onAccessibilityEvent(event: AccessibilityEvent?){
      if (event?.eventType == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED){
           Log.d(TAG,"Source: ${event!!.source}") --> Source is null
      }
 }

   override fun onServiceConnected() {
    val info = AccessibilityServiceInfo()
    info.eventTypes = AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED
    info.FeedbackType = AccessibilityServiceInfo.FeedBACK_GENERIC
    info.notificationTimeout = 400
    info.packageNames = null
    serviceInfo = info
   }

AndroidManifest.xml

  <service
        android:name=".AccessibilityService"
        android:label="Accessibility Test"
        android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
        <intent-filter>
            <action android:name="android.accessibilityservice.AccessibilityService" />
        </intent-filter>
        <Meta-data
            android:name="android.accessibilityservice"
            android:resource="@xml/accesibility_service_config" />
    </service>

accesibility_service_config.xml

<?xml version="1.0" encoding="utf-8"?>
 <accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
 android:description="@string/accesibility_description"
 android:accessibilityEventTypes="typeWindowContentChanged"
 android:notificationTimeout="100"
 android:canRetrieveWindowContent="true"/>

在其他手机型号中,该服务可以正常运行,并且我可以获取信息。

如何获取AccessibilityNodeInfo数据?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)