AccessibilityService 剪贴板复制事件
AccessibilityService clipboard copy event
我正在尝试让 AccessibilityService 收到有关剪贴板复制事件的通知。
到目前为止,我已经尝试解决问题,因此在弹出窗口中单击 "copy" 按钮后,服务会收到通知,但在那种情况下不会引发任何事件,我检查了所有基本事件(文本选择、类型查看点击等)
有没有可能实现?
无障碍服务没有收到此事件。您可以做的是在辅助功能事件的某些子集之后检查剪贴板的内容。
@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();
}
}
遗憾的是不可能,正如其他答案所写的那样(从 Android 10 开始,您甚至无法在前台没有自己的 Activity 的情况下检查剪贴板上的内容),所以我要求在此处添加此 API:
https://issuetracker.google.com/issues/207842550
请考虑主演。
我正在尝试让 AccessibilityService 收到有关剪贴板复制事件的通知。
到目前为止,我已经尝试解决问题,因此在弹出窗口中单击 "copy" 按钮后,服务会收到通知,但在那种情况下不会引发任何事件,我检查了所有基本事件(文本选择、类型查看点击等)
有没有可能实现?
无障碍服务没有收到此事件。您可以做的是在辅助功能事件的某些子集之后检查剪贴板的内容。
@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();
}
}
遗憾的是不可能,正如其他答案所写的那样(从 Android 10 开始,您甚至无法在前台没有自己的 Activity 的情况下检查剪贴板上的内容),所以我要求在此处添加此 API:
https://issuetracker.google.com/issues/207842550
请考虑主演。