connect method

Device connect({
  1. dynamic connectTimeout = 0,
})

连接设备 返回设备对象

Implementation

Device connect({connectTimeout = 0}) {
  Device? device = FlutterBlueElves.instance._deviceCache[_id];
  if (device == null) {
    ///cache里面没有代表之前没有连接过,所以可以用扫描对象连接,除非将device.destroy()
    device = Device._(_id, _rssi); //创建设备对象
    FlutterBlueElves.instance._deviceCache[_id] = device; //将device加入到cache中
    device._state = DeviceState.connecting; //将对象状态置为连接中
    FlutterBlueElves.instance._channel.invokeMethod('connect', {
      "id": _id,
      "timeout": Platform.isAndroid ? connectTimeout : connectTimeout ~/ 1000,
      "isFromScan": true,
      "rssi": _rssi
    }); //去连接
  } else {
    ///如果是同一个设备就不需要再新建device对象,直接用已有device对象连接即可
    device.connect(connectTimeout: connectTimeout);
  }
  return device;
}