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();
...
}
我最近有机会看了一个 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();
...
}