GIF 键盘如何捕获在 android 中输入的内容?

How does GIF keyboard capture what has been typed in android?

我最近有机会看了一个 GIF 键盘 (https://play.google.com/store/apps/details?id=com.riffsy.FBMGIFApp)

在whatsapp、messenger等平台,可以识别'#'后面输入的内容

我一直在四处寻找并寻找一种方法来复制这种行为。

我一直在查看 android 的可访问性 api。但是如何跟踪用户在软键盘上输入的内容?

Custom keyboard like gif keyboard in android - 与此不同,我不想实现自己的键盘,而是它应该与当前键盘一起使用。

有什么广播可以听吗? 这是 Whatsapp 允许跟踪密钥的功能还是 OS?

非常感谢对此的任何帮助。

PS:我知道我应该 post 到目前为止我已经尝试过的解决方案,但经过几天的调查,我确实没有发现任何实质性的东西。

我找到了解决方法。 我通过使用无障碍服务并调用 event.getText 来获取当前聚焦的 EditText

中的文本来实现这一点
public class MyKeyboardAccessibilityService extends AccessibilityService {


@Override
public void onServiceConnected() {
    AccessibilityServiceInfo info = new AccessibilityServiceInfo();
    info.eventTypes = AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED;
    info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC;
    setServiceInfo(info);
}

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
     String text = event.getText();
     ...
}