2016-06-07 49 views
0

我需要發送按鍵事件作爲單詞,而不是按鈕 例如,而不是這個 手段m_Instrumentation = new Instrumentation(); m_Instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_D); 我希望它是這樣的 Instrumentation m_Instrumentation = new Instrumentation(); m_Instrumentation.sendKeyDownUpSync(「Hello」);如何發送關鍵事件作爲字

+0

看到代碼您是否在尋找'm_Instrumentation.sendStringSync(「字符串放在這裏「)'? –

+0

是的,我的意思是 –

+0

但是作爲關鍵事件就像發送整個單詞作爲關鍵事件 –

回答

0

正如約瑟夫·埃文斯的評論中指出的,通過你的Word中創建循環的方法,併發送相應的KeyEvent - 以下

public class InstrumentationHelper { 

    public static void sendKeyEventsFor(String word) { 

     Instrumentation instrumentation = new Instrumentation(); 

     KeyCharacterMap mKeyCharacterMap = 
       KeyCharacterMap.load(KeyCharacterMap.VIRTUAL_KEYBOARD); 

     KeyEvent[] events = mKeyCharacterMap.getEvents(word.toCharArray()); 

     for (KeyEvent keyEvent : events) { 
      instrumentation.sendKeyDownUpSync(keyEvent.getKeyCode()); 
     } 
    } 
} 
+0

對於遲到的回覆感到抱歉,一般情況下我需要此代碼的任何特殊權限或根 –

+0

無需特殊權限。 –

+0

因此Word =我的單詞發送到鍵盤 –