Android webviewに特殊文字( 'ä'、 'é'、 '£'など)を入力したいとします。 これらの文字は仮想KCM(キー文字マップ)には含まれません。だから私は文字に関連付けられているキーコードを取得し、KeyEventを作成することはできません。android WebViewの特殊文字を入力してください
私はさまざまな方法を試してみました:計装方法では
String t = "testàaâäù";
char[] charArray = t.toCharArray();
if (charArray.length > 0) {
KeyCharacterMap keyCharacterMap = KeyCharacterMap.load(KeyCharacterMap.VIRTUAL_KEYBOARD);
KeyEvent[] events = keyCharacterMap.getEvents(charArray);
}
// events is null, because some characters aren't include in KCM
// it never works in any case
:
instrumentation.sendStringSync("a"); // Display 'a'
instrumentation.sendStringSync("àâä"); // Display nothing
instrumentation.sendCharacterSync(KeyEvent.KEYCODE_H); // Display 'h'
// Instrumentation seems to use KCM for data entry
ACTION_MULTIPLEたKeyEventで:
KeyEvent event = new KeyEvent(SystemClock.uptimeMillis(), String.valueOf("aàâä"), 0, 0);
focusedView.dispatchKeyEvent(event);
// Doesn't work with WebView, but works with other components such as EditText.
// I get this error: Unimplemented WebView method onKeyMultiple called from: android.webkit.WebView.onKeyMultiple
私は、データを処理するための方法onKeyMultiple(WebViewの)を実装することができますエントリ? Webviewに特殊文字を入力するためのソリューションはありますか?私はルートを必要としないか、キーボードレイアウトを作成する必要がある(ユーザはキーボードを選択しない)必要がある。