2013-11-15 3 views
0

USB 장치를 넥서스 10에 연결해야합니다.이 장치는 마우스 인터페이스를 구현합니다 (실제로 마우스가 아니지만 마우스 인터페이스를 사용하여 데이터를 전송합니다. 고객이 장치를 만든 방법입니다).).USB 장치를 Android에 연결

앱에서 마우스 원시 USB 전송을 캡처 할 수 없어서 Nexus 10 용 맞춤 ROM을 만들 예정입니다. 제 질문은 -이를 피할 수 있습니까? 어떻게 든 Android에서 마우스 원시 이벤트에 액세스 할 수 있습니까? 당신의 도움이

답변

0

장치가 제대로 구현되면, 당신은 정규 채널을 통해 입력 이벤트를 받아야 대한

감사합니다. 장치에 대한 세부 사항이 없으면 무엇이 잘못 될 수 있는지 말할 수 없습니다.

InputManager을 사용하면 정보를 수집 할 수 있습니다. 기기에 configuration file이 필요하거나 최악의 드라이버 (쉽게 제공 할 수 없음)가 필요할 수 있습니다.

0

장치에 마지막으로 감지 할 수있었습니다 (문제는 내 코드에 있음).

브로드 캐스트 리시버 mUsbReceiver = 새로운 브로드 캐스트 리시버() {

@Override 
    public void onReceive(Context context, Intent intent) { 
     String action = intent.getAction(); 

     UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE); 


     String message = "action:"+action+" device:"+device.getProductId()+" Vendor:"+device.getVendorId(); 

     Toast.makeText(MainActivity.this, message, 3000).show();  

     if(device.getVendorId()==LEVITICUS_VENDOR_ID) 
     { 
      if(action.equals(UsbManager.ACTION_USB_DEVICE_ATTACHED)) 
      { 
       handleDeviceAttached(device); 
      } 
      if(action.equals(UsbManager.ACTION_USB_DEVICE_DETACHED)) 
      { 
       handleDeviceDettached(device); 
      } 
     } 
    } 
}; 

private void registerUsbReceiver() { 
    IntentFilter filter = new IntentFilter(); 
    filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED); 
    filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED); 
    registerReceiver(mUsbReceiver, filter);  
} 
다음은 고정 된 코드는
관련 문제