Skip to content

USB模块

数据结构

ESUsbDeviceInfo

USB设备信息

参数描述类型非空
deviceName设备名称string
vendorId供应商唯一标识符number
productId产品唯一标识符number
deviceId设备唯一标识符number
deviceProtocol设备协议number
productName产品名称string
serialNumber序列号string
manufacturerName生产商名称string

接口

isUsbDevicePermissionsGranted

该方法判断USB设备是否授权。

完整方法声明:function isUsbDevicePermissionsGranted(vendorId: number, productId: number): Promise<boolean>

  • 参数:
参数描述类型非空
vendorId供应商唯一标识符number
productId产品唯一标识符number
  • 返回值:
属性描述类型默认值
USB设备是否授权Promise<boolean>

requestUsbDevicePermission

该方法请求授权USB设备。

完整方法声明:function requestUsbDevicePermission(permission: string, vendorId: number, productId: number): Promise<boolean>

  • 参数:
参数描述类型非空
permission权限名称string
vendorId供应商唯一标识符number
productId产品唯一标识符number
  • 返回值:
属性描述类型默认值
USB设备是否授权Promise<boolean>

getUsbDeviceList

该方法获取USB设备列表。

完整方法声明:function getUsbDeviceList(): Promise<Array<ESUsbDeviceInfo>>

  • 参数:

  • 返回值:
属性描述类型默认值
USB设备列表Promise<Array<ESUsbDeviceInfo>>

getUsbDevice

该方法获取USB设备。

完整方法声明:function getUsbDevice(vendorId: number, productId: number): Promise<ESUsbDeviceInfo>

  • 参数:
参数描述类型非空
vendorId供应商唯一标识符number
productId产品唯一标识符number
  • 返回值:
属性描述类型默认值
USB设备Promise<ESUsbDeviceInfo>

getUsbDeviceListByArray

该方法获取多个USB设备。

完整方法声明:function getUsbDeviceListByArray(array: Array<Array<number>>): Promise<Array<ESUsbDeviceInfo>>

  • 参数:
参数描述类型非空
arrayvendorIdproductId二维数组Array<Array<number>>
  • 返回值:
属性描述类型默认值
USB设备列表Promise<Array<ESUsbDeviceInfo>>

addListener

该方法添加USB设备监听。

完整方法声明:function addListener(listener: ESUsbDeviceListener): void

  • 参数:
参数描述类型非空
listener监听方法ESUsbDeviceListener
  • 返回值:
属性描述类型默认值
void

removeListener

该方法删除USB设备监听。

完整方法声明:function removeListener(listener: ESUsbDeviceListener): void

  • 参数:
参数描述类型非空
listener监听方法ESUsbDeviceListener
  • 返回值:
属性描述类型默认值
void

基础用法

  • 代码示例:
    点击查看源码
    vue
    <template>
    	<div class='es-sdk-root-css'>
    		<s-title-view class='es-sdk-content-title-css' :text='this.$options.name' />
    		<div class='es-sdk-content-divider-css' />
    		<div class='es-sdk-content-column-css'>
    			<div class='es-sdk-content-row-css'>
    				<s-text-button text='获取Usb设备列表' @onButtonClicked='getUsbDeviceList' />
    				<s-text-button text='获取Usb设备信息' @onButtonClicked='getUsbDevice' />
    				<s-text-button text='批量获取Usb设备信息' @onButtonClicked='getUsbDeviceListByArray' />
    				<s-text-button text='Usb设备是否获取权限' @onButtonClicked='isUsbDevicePermissionsGranted' />
    				<s-text-button text='请求Usb设备权限' @onButtonClicked='requestUsbDevicePermission' />
    			</div>
    			<s-text-view :text='usbDeviceText'></s-text-view>
    		</div>
    	</div>
    </template>
    
    <script lang='ts'>
    import {defineComponent} from '@vue/runtime-core';
    import {ref} from 'vue';
    import {useESToast, useESUsbDevice} from '@extscreen/es3-core';
    
    export default defineComponent({
    	name: 'Usb设备模块',
    	setup() {
    		const usb = useESUsbDevice();
    		const toast = useESToast();
    		const usbDeviceText = ref('');
    		const usbDeviceListener = {
    
    			onUsbDeviceDetached(usbDeviceInfo) {
    				usbDeviceText.value = 'Usb设备拔出:' + JSON.stringify(usbDeviceInfo);
    			},
    
    			onUsbDeviceAttached(usbDeviceInfo) {
    				usbDeviceText.value = 'Usb设备插入:' + JSON.stringify(usbDeviceInfo);
    			},
    		};
    
    		function onESCreate(params) {
    			usb.addListener(usbDeviceListener);
    		}
    
    		function onESDestroy() {
    			usb.removeListener(usbDeviceListener);
    		}
    
    		//----------------------监听Usb设备插拔-------------------------
    
    
    		//-----------------------------------------------
    		function getUsbDeviceList() {
    			usb.getUsbDeviceList().then(
    				(usbDeviceList) => {
    					usbDeviceText.value = JSON.stringify(usbDeviceList);
    				},
    				error => {
    					usbDeviceText.value = '错误';
    				},
    			);
    		}
    
    		function getUsbDevice() {
    			usb.getUsbDevice(30021, 10244).then(
    				(usbDevice) => {
    					usbDeviceText.value = JSON.stringify(usbDevice);
    				},
    				error => {
    					usbDeviceText.value = '错误';
    				},
    			);
    		}
    
    		function getUsbDeviceListByArray() {
    			usb.getUsbDeviceListByArray(
    				[[30021, 10244], [3034, 51232]],
    			).then(
    				(usbDeviceList) => {
    					usbDeviceText.value = JSON.stringify(usbDeviceList);
    				},
    				error => {
    					usbDeviceText.value = '错误';
    				},
    			);
    		}
    
    		function isUsbDevicePermissionsGranted() {
    			usb.isUsbDevicePermissionsGranted(30021, 10244).then(
    				(hasPermissionsGranted) => {
    					usbDeviceText.value = hasPermissionsGranted ? '已经获取了权限' : '未获取权限';
    				},
    				error => {
    					usbDeviceText.value = '错误';
    				},
    			);
    		}
    
    		function requestUsbDevicePermission() {
    			usb.requestUsbDevicePermission(
    				'com.nanosic.USB_PERMISSION',
    				30021, 10244).then(
    				(requestUsbDevicePermission) => {
    					toast.showToast('请求权限:' + requestUsbDevicePermission);
    				},
    				error => {
    					toast.showToast('请求权限Error!');
    				},
    			);
    		}
    
    		return {
    			usbDeviceText,
    			onESCreate,
    			onESDestroy,
    			getUsbDeviceList,
    			getUsbDevice,
    			getUsbDeviceListByArray,
    			isUsbDevicePermissionsGranted,
    			requestUsbDevicePermission,
    		};
    	},
    });
    
    </script>
    <style>
    </style>