1

我想将条形码扫描仪值(从连接到移动设备的条形码扫描仪设备读取条形码)插入网页文本框字段,该页面正在移动 chrome 浏览器中运行。

4

1 回答 1

0

来自关于 ACTION_SET_TEXT 的 Android 文档。

Bundle arguments = new Bundle();
arguments.putCharSequence(AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE,"android");
info.performAction(AccessibilityAction.ACTION_SET_TEXT.getId(), arguments);

请注意,您的info对象必须是响应此事件的 AccessibilityNodeInfo。在 Web 中,这意味着控件必须由 Chrome 呈现给辅助技术,作为android.widget.EditText其兼容性库表亲中的一个或一个,或任何一个的子类。

例如,上述解决方案会将文本输入到 FaceBook.com 上的登录字段(呈现为 AT android.widget.EditText),而不是 Google.com 上的搜索字段,它呈现为android.widget.Spinner.

如果浏览器使用非标准标记,并且做一些奇怪的自定义文本输入事情,那么这个解决方案将不起作用,你本质上是 SOL。

您可以自己找到所有这些,并使用 Android 设备监视器进行探索……出色的工具!

于 2017-09-23T06:48:34.333 回答