2013-01-03 31 views
0

使用以下代碼,我可以列出連接到Android設備的inputDevices。Android從特定的輸入設備獲取文本

public void onClick(View v) { 
    if(v==mConnect){ 
     Toast.makeText(MainActivity.this, "TESTE", Toast.LENGTH_LONG).show(); 
     Log.d("INPUTDEVICES", "111111111111111111111"); 
     int[] teste; 
     teste = new int[10]; 

     for(int i=0;i<5;i++){ 
     teste[i]=-1; 
     } 

     teste = InputDevice.getDeviceIds(); 
     for(int i=0;i<5;i++){ 
      Log.d("TESTE", Integer.toString(teste[i])); 
      Log.d("TESTEE",InputDevice.getDevice(teste[i]).getName()); 
     } 


    } 
} 

D/INPUTDEVICES(6572): 111111111111111111111 
D/TESTE (6572): 1 
D/TESTEE (6572): Phone_key 
D/TESTE (6572): 3 
D/TESTEE (6572): ssd253x-ts 
D/TESTE (6572): 4 
D/TESTEE (6572): sun4i-keyboard 
D/TESTE (6572): 5 
D/TESTEE (6572): axp20-supplyer 
D/TESTE (6572): 8 
D/TESTEE (6572): Logitech USB Keyboard 

現在我想等待來自特定輸入設備的文本,在這種情況下是輸入設備8 - Logitech USB鍵盤。 你能幫我嗎?

謝謝:)

編輯

我想這樣的事情:

@Override 
public boolean dispatchKeyEvent(KeyEvent e) { 
if (e.getKeyCode() == KeyEvent.KEYCODE_ENTER) { 
    Toast.makeText(UITestsActivity.this, 
       "YOU CLICKED ENTER KEY", 
       Toast.LENGTH_LONG).show(); 
     return true; 
    } 
    return super.dispatchKeyEvent(e); 
}; 

而是適用於所有的鍵盤上的按鍵,如 'A', 'B', 'C' ,. ..

回答