我是靠谱客的博主 如意眼神,最近开发中收集的这篇文章主要介绍Android查看新插入的usb设备的pId和vId,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

因为当前项目涉及到了插入多个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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部