Trigger Android stock MMS app to send out pending messages
Asked Answered
S

2

9

Now that 3rd party apps cannot read APN information, it seems that there's no way to send MMS programmatically (unless you ask the user to manually enter APN info -AND- you have a working APN defined in the phone's settings), so the only option seems to be sending the MMS using the stock MMS app.

I've saved an MMS in the native MMS content provider (content://mms/outbox) and it successfully appears in the native app but is not being sent until I manually sent another MMS.

I'm looking for a broadcast, or any action that would trigger sending all messages in the outbox of the native MMS app.

Sulphathiazole answered 8/7, 2013 at 18:20 Comment(2)
Does this help: #2973345Coronagraph
Thanks @Slartibartfast. I'm familiar with this thread. The motivation of the question was to see if it's possible without a 'manual implementation' since Android 4 doesn't allow access to APNs. It seems like the only robust solution though.Sulphathiazole
D
1

Looking at the sources of the stock mms.apk, there doesn't seems to be a broadcastReceiver to serve this purpose. You can check the sources here.

Also, these apps have or had actually problems with sending MMS on Jelly Bean. In Textra SMS app, I can say they use their own APN database, as we can change the APN settings inside the app in case MMS are not working.

Dacosta answered 18/7, 2013 at 12:41 Comment(1)
I'm deeply familiar with the sources. I dug them bottom up. Thought I might be missing something though. The main reason for accepting the answer is letting me know that those apps have problems on JB as well. So although no solution was provided, it was the last trigger I needed to decide to implement MMS "manually" similar to Textra. Thanks!Sulphathiazole
G
-1

You could try the CONTENT_CHANGED_ACTION from the internal MMS API. In the extra you should specify the MMS Uri to notify that the content://mms/outbox is changed.

Graben answered 17/7, 2013 at 12:30 Comment(2)
Mms.Intent.CONTENT_CHANGED_ACTION is not publicVeda
It's not public, but it is just a string ("android.intent.action.CONTENT_CHANGED"). Using the same value may work, even if it is not guarantee that it will still work in the future.Graben

© 2022 - 2024 — McMap. All rights reserved.