How to detect USB device in Android tablet which acts as USB Host?

10,204

Solution 1

I had the same problem and I suspect that the host feature may be disabled on your tablet so I suggest that you check.

The following post is probably the best reference to look at as it is concise Android USB host and hidden devices

You should be able to check if the file android.hardware.usb.host.xml exist with the adb shell

Solution 2

mmmm...

device = deviceList.get("deviceName");

i think u must insert the name of your device instead of "deviceName".

Share:
10,204
Allen
Author by

Allen

Updated on June 14, 2022

Comments

  • Allen
    Allen almost 2 years

    I have tried developing a sample app with the help of the code from Developers.android.com.

    My code looks like this

      public class MainActivity extends Activity {
    
       UsbManager manager;
       HashMap<String, UsbDevice> deviceList;
       Button scanButton;
       UsbDevice device;
    
       @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        scanButton = (Button)this.findViewById(R.id.button1);
        scanButton.setOnClickListener(new OnClickListener ()
        {
           public void onClick(View v) 
           {
             checkForDevices ();
           }
        });
     }
    
     @Override
      public void onResume () 
      {
        super.onResume();
        checkForDevices ();
      }
    
     @Override
      public boolean onCreateOptionsMenu(Menu menu) 
      {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
      }
    
      protected void checkForDevices ()
      {
        manager = (UsbManager) getSystemService(Context.USB_SERVICE);
    
        deviceList = manager.getDeviceList();
        device = deviceList.get("deviceName");
        //Collection<UsbDevice> devices = deviceList.values();
    
       if (device != null)
          Toast.makeText(this, "Device Found", Toast.LENGTH_LONG).show();
       else
          Toast.makeText(this, "Device NOT Found", Toast.LENGTH_LONG).show();
      }
     }
    

    When I run this code with a USB device connected, I always get the Toast as "Device NOT Found".

    I want my app to detect the USB device and Read input and Write Output in USB Host Mode.

    Is there any way to detect an USB device in our App?