| | |
| | | package com.doumee.keyCabinet.utils.i485; |
| | | |
| | | import android.content.Context; |
| | | import android.hardware.usb.UsbConstants; |
| | | import android.hardware.usb.UsbDevice; |
| | | import android.hardware.usb.UsbInterface; |
| | | import android.hardware.usb.UsbManager; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | import android_serialport_api.SerialPortFinder; |
| | | |
| | | public class SportUtils { |
| | | public static List<String> getSerialPortPaths(Context context) { |
| | | UsbManager usbManager = (UsbManager) context.getSystemService(Context.USB_SERVICE); |
| | | List<UsbDevice> devices = new ArrayList<>(usbManager.getDeviceList().values()); |
| | | // 获取所有串口设备路径 |
| | | SerialPortFinder mSerialPortFinder = new SerialPortFinder(); |
| | | String[] entryValues = mSerialPortFinder.getAllDevicesPath(); |
| | | List<String> serialPaths = new ArrayList<>(); |
| | | |
| | | for (UsbDevice device : devices) { |
| | | for (int i = 0; i < device.getInterfaceCount(); i++) { |
| | | UsbInterface intf = device.getInterface(i); |
| | | if (intf.getInterfaceClass() == UsbConstants.USB_CLASS_CDC_DATA) { |
| | | serialPaths.add(device.getDeviceName()); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | if(serialPaths.size()==0){ |
| | | serialPaths.add("/dev/ttyS0"); |
| | | serialPaths.add("/dev/ttyS1"); |
| | | serialPaths.add("/dev/ttyS2"); |
| | | serialPaths.add("/dev/ttyS3"); |
| | | serialPaths.add("/dev/ttyS4"); |
| | | serialPaths.add("/dev/ttyS5"); |
| | | serialPaths.add("/dev/ttyS6"); |
| | | serialPaths.add("/dev/ttyS7"); |
| | | for (int i = 0; i < entryValues.length; i++) { |
| | | serialPaths.add(entryValues[i]); |
| | | } |
| | | return serialPaths; |
| | | } |