0

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

它能够找出在whatsapp、messenger和其他平台中'#'之后输入的内容。

我一直在环顾四周,寻找一种方法来复制这种行为。

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

自定义键盘,如 android 中的 gif 键盘- 与此不同,我不想实现自己的键盘,而是应该与当前键盘一起使用。

有什么我可以听的广播吗?这是 Whatsapp 允许跟踪密钥的功能还是操作系统?

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

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

4

1 回答 1

0

我找到了解决方案。我通过使用辅助功能服务并调用 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();
     ...
}
于 2015-11-02T06:21:50.170 回答