Я пытаюсь заставить AccessibilityService получать уведомления о событии копирования буфера обмена.
До сих пор я пытался обойти проблему, чтобы служба уведомлялась после нажатия кнопки "Копировать" во всплывающем окне, но в этой ситуации не возникает никаких событий, я проверил все основные события (выбор текста, щелчок типа просмотра и т. )
Есть ли возможность этого добиться?
Ответ 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();
}
}