SMS sending acknowledgement


I am using TEXTING module to send out SMS from the app. However, I cannot seem to figure out how to catch the SMS SENT SUCCESSFULLY event in the app, so that the app could be sure that the message has been sent (or else retry again).

Can someone help about how to implement this? I am not requesting a SMS delivery confirmation to the destination; just the confirmation of SMS sending done successfully from the phone on which the app is installed.


What can be done with the Texting component is shown in the Texting documentation. There is no sent SMS successfully event.

The Texting component launches the device’s preferred texting app to send the text message. Once that is done the app no longer has control of the sending of the text. The Texting control does not send the sms so it cannot confirm sending of the SMS successfully.

To the best of my knowledge, there are no extensions that will provide this functionality. You could, at the same time you send your important text message is to send yourself a copy. If you receive the message, it would be reasonable that the important text message was also successfully sent.

Thanks. I was kind of hoping to know of some snippet or extension to handle this from someone. My app seems to be getting GENERIC ERROR flash prompt sometimes inside the app, indicating the failure of SMS sending. But since I cannot capture the prompt, I cannot really trigger a retry against the failed SMS.

You might be able to capture the error using the erroroccured Block.

perhaps? If you do not have a phone signal (a weak a signal to your phone provider), you can’t send a text.

This sounds like a do-able thing. I tried it, but I am unable to catch any of the notifications phone throws (error or success) via any module of this event. I am pasting the screenshot. Can you guide how to capture this “Message sent” in the programming?

Sometimes the Screen1.ErrorOccurred traps errors; sometimes it does not.
If those Blocks do not catch the error using code similar to

then it is probable you cannot capture your “Message sent” in the programming using the Block. The Block will only trip if there is an error. If the Block does not capture an error there is the possibility there is no error or the possibility that the Block was unable to detect an error (even if there is an error). The Blockwill not tell you conclusively the message was sent and even might provide a false impression of sending (it the Block is unable to trap the error). The Block is a general purpose error routine that … this is what the documentation says " ErrorOccurred( component , functionName , errorNumber , message ) ---- Event raised when an error occurs. Only some errors will raise this condition. For those errors, the system will show a notification by default. You can use this event handler to prescribe an error behavior different than the default."

Also, in case you have no phone signal, you can use services, it helps a lot with such issues.