rk
15 小时以前 99b89dc0ae4fbe90c6d629a223ad730986ffd8f3
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/i485/SportUtils.java
@@ -1,38 +1,19 @@
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;
    }