| | |
| | | import android.hardware.usb.UsbDevice; |
| | | import android.hardware.usb.UsbInterface; |
| | | import android.hardware.usb.UsbManager; |
| | | import android.serialport.SerialPortFinder; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | 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()); |
| | | // 获取所有串口设备路径 |
| | | String[] devices = new SerialPortFinder().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(devices!=null){ |
| | | for(String key:devices){ |
| | | serialPaths.add(key); |
| | | } |
| | | } |
| | | } |
| | | 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"); |
| | | } |
| | | return serialPaths; |
| | | } |