Sending An SMS

Requires SEND_SMS permission.

Add the following permission in your AndroidManifest.xml

<uses-permission android:name="android.permission.SEND_SMS"/>

sendSms()

Returns Future<void>

Telephony telephony = Telephony.instance;

await telephony.sendSms(
    to: "1234567890",
    message: "May the force be with you!"
    );

If you want to listen to the status of the message being sent, provideSmsSendStatusListener to the sendSms function.

final SmsSendStatusListener listener = (SendStatus status) {
    // Handle the status
    };

await telephony.sendSms(
    to: "1234567890",
    message: "May the force be with you!",
    statusListener: listener
    );

TIP: If you want to send an sms to multiple numbers, you may pass multiple numbers separated by a ;

await telephony.sendSms(
    to: "1234567890;5724352435;24653456345",
    message: "May the force be with you!"
    );

Keep in mind that this method may not work on all devices.

sendSmsByDefaultApp()

Returns Future<void>

Opens the default SMS app with the number and the message passed to the function.

await telephony.sendSmsByDefaultApp(
    to: "1234567890",
    message: "May the force be with you!"
    );

SmsSendStatusListener

Receives SendStatus when SMS is sent and delivered.

SmsSendStatusListener listener = (SendStatus status) {
    // Handle the status
    };

SendStatus

Last updated