Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Событие копирования буфера обмена AccessibilityService

Автор вопроса: Jakub JabłońskiОтветов: 1

Я пытаюсь заставить AccessibilityService получать уведомления о событии копирования буфера обмена.

До сих пор я пытался обойти проблему, чтобы служба уведомлялась после нажатия кнопки "Копировать" во всплывающем окне, но в этой ситуации не возникает никаких событий, я проверил все основные события (выбор текста, щелчок типа просмотра и т. )

Есть ли возможность этого добиться?

androidjavaaccessibilityservice

Ответы

Ответ 1 · рейтинг 1 · ChrisCM

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

@Override
public void onAccessibilityEvent(AccessibilityEvent e) {

    switch (e.getEventType()) {
        //This event alone may be enough!
        case AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED:

        // If not fall through for these events as well, which would detect things like a "Copy" button activated.
        case AccessibilityEvent.TYPE_VIEW_CLICKED:
        case AccessibilityEvent.TYPE_VIEW_CONTEXT_CLICKED:
            checkContentsOfClipboard();

    }
}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы