start method
Future<BluetoothPeripheralState>
start({
- required AdvertiseData advertiseData,
- AdvertiseSettings? advertiseSettings,
- AdvertiseSetParameters? advertiseSetParameters,
- AdvertiseData? advertiseResponseData,
- AdvertiseData? advertisePeriodicData,
- PeriodicAdvertiseSettings? periodicAdvertiseSettings,
Start advertising. Takes AdvertiseData as an input.
Implementation
Future<BluetoothPeripheralState> start({
required AdvertiseData advertiseData,
AdvertiseSettings? advertiseSettings,
AdvertiseSetParameters? advertiseSetParameters,
AdvertiseData? advertiseResponseData,
AdvertiseData? advertisePeriodicData,
PeriodicAdvertiseSettings? periodicAdvertiseSettings,
}) async {
final parameters = advertiseData.toJson();
parameters["manufacturerDataBytes"] = advertiseData.manufacturerData;
final settings = advertiseSettings ?? AdvertiseSettings();
final jsonSettings = settings.toJson();
for (final key in jsonSettings.keys) {
parameters[key] = jsonSettings[key];
}
parameters.addAll(advertiseData.toJson());
if (advertiseSetParameters != null) {
final json = advertiseSetParameters.toJson();
for (final key in json.keys) {
parameters['set$key'] = json[key];
}
parameters.addAll(advertiseData.toJson());
}
if (advertiseResponseData != null) {
final json = advertiseData.toJson();
for (final key in json.keys) {
parameters['response$key'] = json[key];
}
parameters.addAll(advertiseData.toJson());
}
final response =
await _methodChannel.invokeMethod<int>('start', parameters);
return response == null
? BluetoothPeripheralState.unknown
: BluetoothPeripheralState.values[response];
}