Как выполнить нажатие на кнопку включения (включения / выключения)? - PullRequest
0 голосов
/ 27 февраля 2019

Я тестирую следующий код на своем смартфоне Android 7.1, пытаясь выполнить щелчок по кнопке переключателя (включите на / выкл ) ::

enter image description here

но ничего не происходит, хотя это говорит о том, что это был успех.

Как решить эту проблему?

private void iteratorTXDM(AccessibilityNodeInfo info) {
    boolean found = false;
    List<AccessibilityNodeInfo> node = info.findAccessibilityNodeInfosByViewId("android:id/switch_widget");
    if (node != null) {
        for (AccessibilityNodeInfo element : node) {
            element.performAction(AccessibilityNodeInfo.ACTION_CLICK);
            System.out.println("The element was clicked!!");
        }
        //iteratorTXDM(getRootInActiveWindow());
        found = true;
        return;
    } else {
        for (int i = 0; i < info.getChildCount(); i++) {
            if (info.getChild(i) != null) {
                if (found) {
                    found = false;
                    break;
                }
                iteratorTXDM(info.getChild(i));
            }
        }
    }
    return;
}

private void click(){

    iteratorTXDM(source);
}

AccessibilityNodeInfo source;

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {

    source = event.getSource();

    if (source == null) {
        return;
    }
}

accessibility_service_config.xml

<?xml version="1.0" encoding="utf-8"?>

<accessibility-service
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:accessibilityEventTypes="typeAllMask"
    android:accessibilityFeedbackType="feedbackAllMask"
    android:accessibilityFlags="flagDefault|flagIncludeNotImportantViews|flagReportViewIds"
    android:canPerformGestures="true"
    android:canRetrieveWindowContent="true"
    android:description="@string/accessibility_service_description"
    android:notificationTimeout="100"
    tools:ignore="UnusedAttribute" />
...