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(ä、ö、ü、ß)やその他の文字セットは含まれません。しかし、KeyEventと呼ばれるものがありますpublic static final int KEYCODE_LANGUAGE_SWITCH = 204;

問題はInteractionControllerクラスがAndroid4.2の後に削除されたように見えることですが、KeyEventを直接送信してハッキングすることはできませんでした。

非ラテンアルファベットをエミュレーターに送信するための解決策または回避策があるかどうか誰かに教えてもらえますか?ご協力いただきありがとうございます。

4

1 に答える 1

0

ASCII文字のみを使用してエンコードされたテキストを Unicode テキストに変換する IMEを作成しました。IME をインストールした後、編集可能なフィールドに非ラテン アルファベットを設定できます。

詳細については、別の回答を参照してください。

于 2013-10-27T13:50:06.737 に答える