huangyongcong 567d08dc7a 串口功能 1 år sedan
..
utssdk 567d08dc7a 串口功能 1 år sedan
changelog.md 567d08dc7a 串口功能 1 år sedan
encrypt 567d08dc7a 串口功能 1 år sedan
package.json 567d08dc7a 串口功能 1 år sedan
readme.md 567d08dc7a 串口功能 1 år sedan

readme.md

监听USB设备的插拔,请求USB设备权限,获取当前连接的所有USB设备

定制或采购源码联系QQ252797991

  1. 下载demo,拷贝demo里的AndroidManifest.xml文件到uniapp项目根目录下
  2. 点击插件页面右上角的"试用"按钮,按照提示集成到uniapp项目
  3. 删除本地基座和手机app
  4. 重新自定义基座运行

    
    	import {
    		UTSUsbManager,
    	} from "@/uni_modules/wrs-uts-usbmanager";
    
    
    
  • 监听USB设备的插拔

    
    				// 注册USB插拔监听
    				UTSUsbManager.registerReceiver(this.action, (resp) => {
    					let action = resp.action;
    					switch (action) {
    						// USB授权结果
    						case this.action: {
    							let granted = resp.granted
    							let action = resp.action
    							let device = resp.device
    							this.showMsg("有USB设备授权结果:" + JSON.stringify(resp));
    							if (granted) {
    								this.showMsg("有USB设备授权成功");
    							} else {
    								this.showMsg("有USB设备授权失败");
    							}
    						}
    						break;
    						// 监测到有USB拔出
    						case "android.hardware.usb.action.USB_DEVICE_DETACHED": {
    							this.showMsg("有USB设备拔出:" + JSON.stringify(resp));
    						}
    						break;
    						// 检测到有USB插入
    						case "android.hardware.usb.action.USB_DEVICE_ATTACHED": {
    							// USB插入时,有些设备会监听到USB插入-USB设备拔出-USB设备插入这么个过程,可能是系统或USB设备的bug
    							this.showMsg("有USB设备插入:" + JSON.stringify(resp));
    						}
    						break;
    						default:
    							break;
    					}
    				})
    
    
  • 取消监听USB设备的插拔

    
    UTSUsbManager.unregisterReceiver()
    
    
  • 获取当前连接的所有USB设备

    
    		UTSUsbManager.getDeviceList((resp) => {
    						this.showMsg(JSON.stringify(resp))
    						// {"devices":[{"deviceName":"/dev/bus/usb/001/017","interfaceCount":2,"interfaces":[{"id":0,"name":"Espressif CDC Device","interfaceProtocol":0,"interfaceClass":2},{"id":1,"interfaceProtocol":0,"interfaceClass":10}],"deviceId":1017,"deviceProtocol":0}]}
    				});
    
    
  • 请求某个USB设备权限

权限结果在registerReceiver里回调


let device = devices[index];
							let deviceId = device.deviceId;
							let requestCode = this.requestCode;
							let action = this.action;
							let flags = 0;
							
							UTSUsbManager.requestPermission(deviceId, requestCode, action, flags);