2

根据Android 4.1.1_r1的源码:

com.android.uiautomator.core.UiObjectsetText(String text)方法将首先clearTextField()然后return getInteractionController().sendText(text);

而在com.android.uiautomator.core.InteractionController中,sendText方法实际上是转换text.toCharArray(),然后KeyEvent[]调用返回nativeGetEvents()

当然android.view.KeyEvent只包含电话键,没有 umlaut(ä,ö,ü,ß) 或其他字符集。但是确实有一个名为 KeyEventpublic static final int KEYCODE_LANGUAGE_SWITCH = 204;

虽然问题是InteractionController类似乎在 Android 4.2 之后被删除,因此我无法通过直接发送任何 KeyEvent 来破解它。

谁能告诉我是否有任何解决方案或解决方法可以将非拉丁字母发送到模拟器?谢谢你的帮助。

4

1 回答 1

0

我编写了一个 IME,将仅使用 ASCII 字符的编码文本转换为 Unicode 文本。安装 IME 后,您可以在可编辑字段中设置非拉丁字母。

请参阅我的另一个答案以获取更多详细信息。

于 2013-10-27T13:50:06.737 回答