キャラクターがあり、それを KeyEvent KeyCode 制約http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_0に変換したい
文字「0」がある場合のように、変換したい
キーコード定数: '0' キー。
定数値: 7 (0x00000007)
KeyEvent ページで指定されているとおり。これを行うための最良の方法は何ですか?それを行うための事前定義された機能はありますか?
キャラクターがあり、それを KeyEvent KeyCode 制約http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_0に変換したい
文字「0」がある場合のように、変換したい
キーコード定数: '0' キー。
定数値: 7 (0x00000007)
KeyEvent ページで指定されているとおり。これを行うための最良の方法は何ですか?それを行うための事前定義された機能はありますか?
これは、webviewに文字を入れるために使用するソリューションです。
char[] szRes = szStringText.toCharArray(); // Convert String to Char array
KeyCharacterMap CharMap;
if(Build.VERSION.SDK_INT >= 11) // My soft runs until API 5
CharMap = KeyCharacterMap.load(KeyCharacterMap.VIRTUAL_KEYBOARD);
else
CharMap = KeyCharacterMap.load(KeyCharacterMap.ALPHA);
KeyEvent[] events = CharMap.getEvents(szRes);
for(int i=0; i<events.length; i++)
MainWebView.dispatchKeyEvent(events[i]); // MainWebView is webview
私はまだJava/Androidに慣れていないので、私の答えはそのままではうまくいかないかもしれませんが、それでもアイデアを得ることができます.
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
...
public class Sample {
...
public boolean convertStringToKeyCode(String text) {
KeyCharacterMap mKeyCharacterMap =
KeyCharacterMap.load(KeyCharacterMap.VIRTUAL_KEYBOARD);
KeyEvent[] events = mKeyCharacterMap.getEvents(text.toCharArray());
for (KeyEvent event2 : events) {
// We get key events for both UP and DOWN actions,
// so we may just need one.
if (event2.getAction() == 0) {
int keycode = event2.getKeyCode();
// Do some work
}
}
}
フレームワークのソースコードsendText
でメソッドのコードを読んでいたときにアイデアを得ました:uiautomator