usb 插入、拔出、判断类型

来源:互联网 发布:360路由器访客网络 编辑:程序博客网 时间:2024/05/02 01:20

哟哟上代码


监听广播:

        if(action.equals("android.intent.action.MEDIA_EJECT")){//拔出
        }else if(action.equals("android.intent.action.MEDIA_MOUNTED")){//插入

}





根据Usb类型判断有多少个usb连接

    public static int checkUsbNumber(Context context){
        int i = 0;
        if(null == manager){
            manager = (UsbManager) context.getSystemService(context.USB_SERVICE);
        }
        HashMap<String, UsbDevice> list = manager.getDeviceList();
        int size = list.size();
        Log.i(TAG, "size : " + size);
        if(null != list){
            Set<String> keySet = list.keySet();
            for (String string : keySet) {
                Log.i(TAG, "key : " + string);
                UsbDevice usbDevice = list.get(string);
                Log.i(TAG, "value : " + usbDevice.toString() + "\n~~~~~~~~\n");
                int deviceClass = usbDevice.getDeviceClass();
                if(deviceClass == UsbConstants.USB_CLASS_PER_INTERFACE){
                    i++;
                }
            }
        }
        return i;
    }











UsbConstants::::

    /**

     * USB class indicating that the class is determined on a per-interface basis.基于每个接口的基础,usb
     */
    public static final int USB_CLASS_PER_INTERFACE = 0;
    /**
     * USB class for audio devices.音频设备
     */
    public static final int USB_CLASS_AUDIO = 1;
    /**
     * USB class for communication devices.通信设备
     */
    public static final int USB_CLASS_COMM = 2;
    /**
     * USB class for human interface devices (for example, mice and keyboards).鼠标键盘
     */
    public static final int USB_CLASS_HID = 3;
    /**
     * USB class for physical devices.物理设备
     */
    public static final int USB_CLASS_PHYSICA = 5;
    /**
     * USB class for still image devices (digital cameras).相机
     */
    public static final int USB_CLASS_STILL_IMAGE = 6;
    /**
     * USB class for printers.打印器
     */
    public static final int USB_CLASS_PRINTER = 7;
    /**
     * USB class for mass storage devices. sd卡
     */
    public static final int USB_CLASS_MASS_STORAGE = 8;
    /**
     * USB class for USB hubs. 集线器
     */
    public static final int USB_CLASS_HUB = 9;
0 0
原创粉丝点击