我正在尝试编写无障碍服务代码,但确实很挣扎。现在,我甚至开始确保它能看到AccessibilityEvent。我想要做的只是在祝酒消息中返回看到事件的时间。
我尝试了几种不同的事件,以查看是否是事件类型未出现的问题,并且我已经在几种不同的窗口中进行了尝试,以查看在特定应用程序中是否存在可访问性问题。到目前为止,我已经尝试过TYPE_VIEW_SCROLLED TYPE_WINDOW_STATE_CHANGED TYPE_WINDOW_CONTENT_CHANGED和TYPE_WINDOWS_CHANGED。我已经尝试在Toast消息中返回一个变量,并且在该变量存在问题的情况下也只返回纯文本,但是我似乎无法使Toast消息显示出来。到目前为止,这是我包含的内容:
import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.GestureDescription;
import android.graphics.Path;
import android.graphics.PixelFormat;
import android.media.AudioManager;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.Toast;
@Override
protected void onServiceConnected() {
}
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
final int eventType = event.getEventType();
String eventText = null;
switch(eventType) {
case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED:
eventText = "Focused: ";
break;
case AccessibilityEvent.TYPE_VIEW_SCROLLED:
eventText = "Focused: ";
break;
}
eventText = eventText + event.getEventTime();
Toast.makeText(getApplicationContext(),eventText,Toast.LENGTH_SHORT).show();
}
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityFeedbackType="feedbackGeneric"
android:accessibilityFlags="flagIncludeNotImportantViews|flagReportViewIds"
android:canPerformGestures="true"
android:canRetrieveWindowContent="true" />
我在Android Studio中没有收到任何错误消息,并且它的构建还不错,但是无论我做什么,我都无法获得它来显示吐司消息。有什么想法吗?