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

冷暖自知 提交于 2019-12-12 22:01:31

问题


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?


回答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




回答2:


mmmm...

device = deviceList.get("deviceName");

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




回答3:


the best example of working with usb devices in android would be here this is a good example for detecting usb device and work with that



来源:https://stackoverflow.com/questions/12110555/how-to-detect-usb-device-in-android-tablet-which-acts-as-usb-host

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!