2

我尝试在Developers.android.com的代码帮助下开发示例应用程序。

我的代码看起来像这样

  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();
  }
 }

当我在连接 USB 设备的情况下运行此代码时,我总是将 Toast 显示为“未找到设备”。

我希望我的应用程序能够检测 USB 设备并在 USB 主机模式下读取输入和写入输出。

有什么方法可以在我们的 App 中检测 USB 设备吗?

4

3 回答 3

2

我有同样的问题,我怀疑你的平板电脑上的主机功能可能被禁用了,所以我建议你检查一下。

以下帖子可能是最好的参考,因为它是简洁的 Android USB 主机和隐藏设备

您应该能够使用 adb shell检查文件android.hardware.usb.host.xml是否存在

于 2012-09-26T08:32:06.607 回答
1

嗯……

device = deviceList.get("deviceName");

我认为您必须插入设备名称而不是“设备名称”。

于 2013-11-23T10:00:04.927 回答
0

在 android 中使用 USB 设备的最佳示例是这里 这是检测 USB 设备并使用该设备的一个很好的示例

于 2015-01-26T08:31:59.840 回答