android-smsmms
android-smsmms copied to clipboard
Failed to send MMS under some Android device
How are you?
I tried to send MMS on 2 type of Android devices.
Succeed to send MMS under first Android device(Samsung Galaxy Note 3, Android 4.3, Possible to get phone number, SIM with China Mobile).
Failed to send MMS under secondary Android device(Nexus 5, Android 4.4, Impossible to get phone number, SIM with China Unicom).
Here are the log against the failed message sent to mms.
01-04 04:08:54.457: V/sending_mms_library(10438): error saving mms message 01-04 04:08:54.457: W/System.err(10438): com.google.android.mms.MmsException: unable to update content://mms/1388779734454/part/0 01-04 04:08:54.457: W/System.err(10438): at com.google.android.mms.pdu_alt.PduPersister.persistData(PduPersister.java:798) 01-04 04:08:54.457: W/System.err(10438): at com.google.android.mms.pdu_alt.PduPersister.persistPart(PduPersister.java:759) 01-04 04:08:54.457: W/System.err(10438): at com.google.android.mms.pdu_alt.PduPersister.persist(PduPersister.java:1389) 01-04 04:08:54.457: W/System.err(10438): at com.klinker.android.send_message.Transaction.getBytes(Transaction.java:423) 01-04 04:08:54.457: W/System.err(10438): at com.klinker.android.send_message.Transaction.sendMmsMessage(Transaction.java:309) 01-04 04:08:54.467: W/System.err(10438): at com.klinker.android.send_message.Transaction.sendNewMessage(Transaction.java:140
01-04 04:08:54.497: V/sending_mms_library(10438): still an error saving... :( 01-04 04:08:54.497: W/System.err(10438): java.io.FileNotFoundException: App op not allowed 01-04 04:08:54.497: W/System.err(10438): at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:146) 01-04 04:08:54.497: W/System.err(10438): at android.content.ContentProviderProxy.openAssetFile(ContentProviderNative.java:611) 01-04 04:08:54.497: W/System.err(10438): at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:922) 01-04 04:08:54.497: W/System.err(10438): at android.content.ContentResolver.openOutputStream(ContentResolver.java:669) 01-04 04:08:54.507: W/System.err(10438): at android.content.ContentResolver.openOutputStream(ContentResolver.java:645) 01-04 04:08:54.507: W/System.err(10438): at com.klinker.android.send_message.Transaction.createPartImage(Transaction.java:1055) 01-04 04:08:54.507: W/System.err(10438): at com.klinker.android.send_message.Transaction.insert(Transaction.java:1020) 01-04 04:08:54.507: W/System.err(10438): at com.klinker.android.send_message.Transaction.getBytes(Transaction.java:429) 01-04 04:08:54.507: W/System.err(10438): at com.klinker.android.send_message.Transaction.sendMmsMessage(Transaction.java:309) 01-04 04:08:54.507: W/System.err(10438): at com.klinker.android.send_message.Transaction.sendNewMessage(Transaction.java:140)
01-04 04:08:54.507: W/System.err(10438): java.lang.IllegalArgumentException: Null message URI.
01-04 04:08:54.517: W/System.err(10438): at com.android.mms.transaction.MmsMessageSender.
I hope that you let me know the solution.
Thanks, HaiLong
Hi
I am getting the same exception on nexus 5. Did you get any workaround for this?
Thanks, Anshul
Is your app the default messaging app for android 4.4 ?
Yes, its the default messaging app i.e google+.
Well, i d'ont think that google+ on nexus 5 do use this library.
Then how should i send mms using this library in my app?
Is your app working with android < 4.4
To insert/update/delete data from messaging content provider on android 4.4, you're app must be the default messaging application:
take a lok at this: http://android-developers.blogspot.fr/2013/10/getting-your-sms-apps-ready-for-kitkat.html
Have not tested with <4.4 yet. Will check it out. Actually i just need to add the functionality of sending an mms, nothing else. So I guess there is no use making it a default app for sms.
I think that this library is made to build messaging application. Maybe you can use intents just to send sms via default application ? I never tried.
Take a look at this: http://stackoverflow.com/questions/20079047/android-kitkat-4-4-hangouts-cannot-handle-sending-sms-intent
Hi i am also getting same error in Samsung Galaxy S4 GT-19500 version 4.4.2 and MOTO G android 4.4.4 version else its working fine in Samsung Galaxy Note 3 Neo 4.3
08-07 16:48:33.076: W/ApplicationPackageManager(26313): getCSCPackageItemText()
08-07 16:48:33.181: W/RateController(26313): Already initialized.
08-07 16:48:33.181: W/DownloadManager(26313): Already initialized.
08-07 16:48:33.266: V/sending_mms_library(26313): error saving mms message
08-07 16:48:33.266: W/System.err(26313): com.google.android.mms.MmsException: unable to update content://mms/1407410313259/part/0
08-07 16:48:33.271: W/System.err(26313): at com.google.android.mms.pdu_alt.PduPersister.persistData(PduPersister.java:792)
08-07 16:48:33.271: W/System.err(26313): at com.google.android.mms.pdu_alt.PduPersister.persistPart(PduPersister.java:753)
08-07 16:48:33.271: W/System.err(26313): at com.google.android.mms.pdu_alt.PduPersister.persist(PduPersister.java:1383)
08-07 16:48:33.271: W/System.err(26313): at com.klinker.android.send_message.Transaction.getBytes(Transaction.java:488)
08-07 16:48:33.276: W/System.err(26313): at com.klinker.android.send_message.Transaction.sendMmsMessage(Transaction.java:357)
08-07 16:48:33.276: W/System.err(26313): at com.klinker.android.send_message.Transaction.sendNewMessage(Transaction.java:136)
08-07 16:48:33.276: W/System.err(26313): at com.orange.forwardmms.MmsSenderActivity.sendData(MmsSenderActivity.java:103)
08-07 16:48:33.276: W/System.err(26313): at com.orange.forwardmms.MmsSenderActivity.onCreate(MmsSenderActivity.java:50)
08-07 16:48:33.276: W/System.err(26313): at android.app.Activity.performCreate(Activity.java:5426)
08-07 16:48:33.276: W/System.err(26313): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
08-07 16:48:33.276: W/System.err(26313): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
08-07 16:48:33.276: W/System.err(26313): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
08-07 16:48:33.281: W/System.err(26313): at android.app.ActivityThread.access$900(ActivityThread.java:161)
08-07 16:48:33.281: W/System.err(26313): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
08-07 16:48:33.281: W/System.err(26313): at android.os.Handler.dispatchMessage(Handler.java:102)
08-07 16:48:33.281: W/System.err(26313): at android.os.Looper.loop(Looper.java:157)
08-07 16:48:33.281: W/System.err(26313): at android.app.ActivityThread.main(ActivityThread.java:5356)
08-07 16:48:33.281: W/System.err(26313): at java.lang.reflect.Method.invokeNative(Native Method)
08-07 16:48:33.281: W/System.err(26313): at java.lang.reflect.Method.invoke(Method.java:515)
08-07 16:48:33.281: W/System.err(26313): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
08-07 16:48:33.281: W/System.err(26313): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
08-07 16:48:33.286: W/System.err(26313): at dalvik.system.NativeStart.main(Native Method)
08-07 16:48:33.306: V/sending_mms_library(26313): still an error saving... :(
08-07 16:48:33.306: W/System.err(26313): java.io.FileNotFoundException: App op not allowed
08-07 16:48:33.311: W/System.err(26313): at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:146)
08-07 16:48:33.311: W/System.err(26313): at android.content.ContentProviderProxy.openAssetFile(ContentProviderNative.java:611)
08-07 16:48:33.311: W/System.err(26313): at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:925)
08-07 16:48:33.311: W/System.err(26313): at android.content.ContentResolver.openOutputStream(ContentResolver.java:672)
08-07 16:48:33.311: W/System.err(26313): at android.content.ContentResolver.openOutputStream(ContentResolver.java:648)
08-07 16:48:33.311: W/System.err(26313): at com.klinker.android.send_message.Transaction.createPartImage(Transaction.java:1137)
08-07 16:48:33.311: W/System.err(26313): at com.klinker.android.send_message.Transaction.insert(Transaction.java:1102)
08-07 16:48:33.316: W/System.err(26313): at com.klinker.android.send_message.Transaction.getBytes(Transaction.java:494)
08-07 16:48:33.316: W/System.err(26313): at com.klinker.android.send_message.Transaction.sendMmsMessage(Transaction.java:357)
08-07 16:48:33.316: W/System.err(26313): at com.klinker.android.send_message.Transaction.sendNewMessage(Transaction.java:136)
08-07 16:48:33.316: W/System.err(26313): at com.orange.forwardmms.MmsSenderActivity.sendData(MmsSenderActivity.java:103)
08-07 16:48:33.316: W/System.err(26313): at com.orange.forwardmms.MmsSenderActivity.onCreate(MmsSenderActivity.java:50)
08-07 16:48:33.316: W/System.err(26313): at android.app.Activity.performCreate(Activity.java:5426)
08-07 16:48:33.316: W/System.err(26313): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
08-07 16:48:33.316: W/System.err(26313): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
08-07 16:48:33.321: W/System.err(26313): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
08-07 16:48:33.321: W/System.err(26313): at android.app.ActivityThread.access$900(ActivityThread.java:161)
08-07 16:48:33.321: W/System.err(26313): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
08-07 16:48:33.321: W/System.err(26313): at android.os.Handler.dispatchMessage(Handler.java:102)
08-07 16:48:33.321: W/System.err(26313): at android.os.Looper.loop(Looper.java:157)
08-07 16:48:33.321: W/System.err(26313): at android.app.ActivityThread.main(ActivityThread.java:5356)
08-07 16:48:33.321: W/System.err(26313): at java.lang.reflect.Method.invokeNative(Native Method)
08-07 16:48:33.326: W/System.err(26313): at java.lang.reflect.Method.invoke(Method.java:515)
08-07 16:48:33.326: W/System.err(26313): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
08-07 16:48:33.326: W/System.err(26313): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
08-07 16:48:33.326: W/System.err(26313): at dalvik.system.NativeStart.main(Native Method)
08-07 16:48:33.326: W/System.err(26313): java.lang.NullPointerException
08-07 16:48:33.326: W/System.err(26313): at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1423)
08-07 16:48:33.326: W/System.err(26313): at android.content.ContentResolver.query(ContentResolver.java:448)
08-07 16:48:33.326: W/System.err(26313): at android.content.ContentResolver.query(ContentResolver.java:407)
08-07 16:48:33.331: W/System.err(26313): at com.klinker.android.send_message.Transaction.getBytes(Transaction.java:499)
08-07 16:48:33.331: W/System.err(26313): at com.klinker.android.send_message.Transaction.sendMmsMessage(Transaction.java:357)
08-07 16:48:33.331: W/System.err(26313): at com.klinker.android.send_message.Transaction.sendNewMessage(Transaction.java:136)
08-07 16:48:33.331: W/System.err(26313): at com.orange.forwardmms.MmsSenderActivity.sendData(MmsSenderActivity.java:103)
08-07 16:48:33.331: W/System.err(26313): at com.orange.forwardmms.MmsSenderActivity.onCreate(MmsSenderActivity.java:50)
08-07 16:48:33.331: W/System.err(26313): at android.app.Activity.performCreate(Activity.java:5426)
08-07 16:48:33.331: W/System.err(26313): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
08-07 16:48:33.331: W/System.err(26313): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
08-07 16:48:33.336: W/System.err(26313): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
08-07 16:48:33.336: W/System.err(26313): at android.app.ActivityThread.access$900(ActivityThread.java:161)
08-07 16:48:33.336: W/System.err(26313): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
08-07 16:48:33.336: W/System.err(26313): at android.os.Handler.dispatchMessage(Handler.java:102)
08-07 16:48:33.336: W/System.err(26313): at android.os.Looper.loop(Looper.java:157)
08-07 16:48:33.336: W/System.err(26313): at android.app.ActivityThread.main(ActivityThread.java:5356)
08-07 16:48:33.336: W/System.err(26313): at java.lang.reflect.Method.invokeNative(Native Method)
08-07 16:48:33.336: W/System.err(26313): at java.lang.reflect.Method.invoke(Method.java:515)
08-07 16:48:33.341: W/System.err(26313): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
08-07 16:48:33.341: W/System.err(26313): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
08-07 16:48:33.341: W/System.err(26313): at dalvik.system.NativeStart.main(Native Method)
08-07 16:48:33.341: W/System.err(26313): java.lang.IllegalArgumentException: Null message URI.
08-07 16:48:33.341: W/System.err(26313): at com.android.mms.transaction.MmsMessageSender.
Hello, I am facing this same issue, Does anybody have resolved this ?
Facing same issue on Sony XperiaE4 - Android 4.4.4
Facing same issue on Lenovo S898t+ - Android 4.4.2
Set this app to be default SMS App to solve my problem. (How to set default SMS app: https://www.cnet.com/how-to/manage-default-sms-app-on-android-4-4-kitkat/)
so sorry to bring this back to life, but i'm curious if there is a way to send MMS in the background but NOT be the default app? The library works, as noted above, when set to be the default app, but i'm looking to get a true background experience that can hand this library MMS criteria, and move onward
Not possible due to framework limitations on Android 4.4 and higher.
Without default SMS App setting, can send MMS?
@tozblue the previous comment answers this question. It is not possible due to framework limitations on Android 4.4 and above.
Which framework limitations? Can you explain why this fork works when the default activity is not set? @klinker24 @klinker41
https://github.com/DrBrad/android-smsmms