概述
因为当前项目涉及到了插入多个usb设备,且每次软件需要调用单独的特定的那一个,所以需要知道这个设备的pid和vid,有的厂家没有给,就想着自己通过代码来进行查看。
代码如下:
final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
UsbDevice device = (UsbDevice) intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {
assert device != null;
Log.e("device.getProductId()", String.valueOf(device.getProductId()));
Log.e("device.getVendorId()", String.valueOf(device.getVendorId()));
}
}
};
private void getUsbDriverService() {
mUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
mUsbDriver = new UsbDriver(mUsbManager, MainActivity.this);
mPermissionIntent = PendingIntent.getBroadcast(MainActivity.this, 0, new Intent(ACTION_USB_PERMISSION), 0);
mUsbDriver.setPermissionIntent(mPermissionIntent);
IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);
filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
MainActivity.this.registerReceiver(mUsbReceiver, filter);
}
会在Log中打印出刚才插入的usb设备的pid和vid。
我是在Activity 的onCreate方法里调用的getUsbDriverService();
还要记得在onStop或者onDestroy方法中取消注册:
this.unregisterReceiver(mUsbReceiver);
结束。
最后
以上就是如意眼神为你收集整理的Android查看新插入的usb设备的pId和vId的全部内容,希望文章能够帮你解决Android查看新插入的usb设备的pId和vId所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复