Событие доступности происходит только один раз после включения службы доступности - PullRequest
0 голосов
/ 08 апреля 2019

Я только начал кодировать свое приложение, которое использует Accessibility Service.Я объясню свою проблему подробно.

Ниже мой onServiceConnected метод MyAccessibilityService class

protected void onServiceConnected() {
    super.onServiceConnected();
    AccessibilityServiceInfo info = getServiceInfo();
    info.eventTypes = AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED | AccessibilityEvent.WINDOWS_CHANGE_ADDED;

    info.packageNames = new String[]
            {THIRD_PARTY_APP_PACKAGE};

    info.notificationTimeout = 100;
    this.setServiceInfo(info);
}

Приложение обнаруживает события в onAccessibilityEvent() method

public void onAccessibilityEvent(AccessibilityEvent event) {
    AccessibilityNodeInfo source = event.getSource();
    if (source == null) {
        return;
    }

    Toast.makeText(this, "Event Occured", Toast.LENGTH_SHORT).show();
}

Теперь, когда я открываю стороннее приложение, я получаю тост "Событие произошло".Теперь я закрываю приложение, и когда я снова открываю его, метод не вызывается, и я не получаю тост.Чтобы это снова заработало, мне нужно отключить службу доступности моего приложения в настройках моего телефона и снова включить ее.

Я знаю, что что-то упустил, и мой единственный вопрос - что должно быть дополнительной частьюкод или какие модификации мне нужны, чтобы обнаруживать событие каждый раз, когда я открываю стороннее приложение?

1 Ответ

0 голосов
/ 08 апреля 2019

Вы пытались избавиться от таймаута уведомления?Возможно, вам это не нужно, и это не самый проверенный API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...