AccessibilityService игнорирует свойствоtificationTimeout - PullRequest
0 голосов
/ 18 апреля 2020

Насколько я понимаю, установка свойстваtificationTimeout в AccessibilityService должна ограничивать вызов onAccessibilityEvent чаще, чем этот тайм-аут. Я попытался установить это как в файле xml службы специальных возможностей, так и программно с помощью setServiceInfo.

Однако, независимо от того, что я установил, я получаю очень частые вызовы onAccessibilityEvent.

Вот некоторые моего кода:

XML:

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

JAVA:

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
    AccessibilityServiceInfo accessibilityServiceInfo = new AccessibilityServiceInfo();
    accessibilityServiceInfo.notificationTimeout = 1000;
    setServiceInfo(accessibilityServiceInfo);
    Utils.logDebug(TAG, "TIMEOUT: " + getServiceInfo().notificationTimeout);

    long currentTime = System.currentTimeMillis();
    long timeSinceLastEvent = currentTime - timeLastAccessibilityEvent;
    Utils.logDebug(TAG, "onAccessibilityEvent(), type: " + event.getEventType() + ", last event: " + timeSinceLastEvent + "ms ago");

    if(!event.equals(lastAccessibilityEvent) && timeSinceLastEvent < MAX_FREQUENCY_ACCESSIBILITY_EVENT_MS) {
        Utils.logDebug(TAG, "Too soon, returning!");
        timeLastAccessibilityEvent = currentTime;
        return;
    }
    timeLastAccessibilityEvent = currentTime;
}

Журнал отладки NotificationTimeout корректно читает все, что я установил, но Я получаю вызовы с частотой 0 мс, даже если он должен ждать целую секунду!

Вот аналогичный вопрос: Время ожидания уведомления - Задание задержки между событиями доступности

...