sendSms method

Future<SmsMessage?> sendSms(
  1. SmsMessage? msg, {
  2. SimCard? simCard,
})

Send an SMS

Take a message in argument + 2 functions that will be called on success or on error

This function will not set automatically thread id, you have to do it

Implementation

Future<SmsMessage?> sendSms(SmsMessage? msg, {SimCard? simCard}) async {
  if (msg == null || msg.body == null) {
    if (msg == null) {
      throw ("no given message");
    } else if (msg.body == null) {
      throw ("no given body");
    }
    return null;
  }

  msg.state = SmsMessageState.Sending;
  Map map = msg.toMap;
  this._sentMessages.putIfAbsent(this._sentId, () => msg);
  map['sentId'] = this._sentId;
  if (simCard != null) {
    map['subId'] = simCard.slot;
  }
  this._sentId += 1;

  if (simCard != null) {
    map['simCard'] = simCard.imei;
  }

  await _channel.invokeMethod("sendSMS", map);
  msg.date = new DateTime.now();

  return msg;
}