weimingfei
9 小时以前 8ff90d87687b6d38158809aae776b6c709d7b60a
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/i485/SportUtils.java
@@ -5,34 +5,20 @@
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;
    }