How to send MMS without intent programmatically

我的梦境 提交于 2019-12-05 02:22:48

问题


Uri uri = Uri.parse("file://"+Environment.getExternalStorageDirectory()+"/test.png");
    Intent i = new Intent(Intent.ACTION_SEND);
    i.putExtra("address","1234567890");
    i.putExtra("sms_body","This is the text mms");
    i.putExtra(Intent.EXTRA_STREAM,"file:/"+uri);
    i.setType("image/png");
    startActivity(i);

I want to send MMS but I don't want to use intent object like above because I am developing my own application of sms manager. So how can I send MMS?

I am referring to this link code but I don't understand it and it doesn't work.


回答1:


There is no public API to send an MMS in Android at the moment.




回答2:


MMS is a HTTP based request in Android. You have to have mobile data to send an MMS. There are no APIs exposed by Android to send an MMS, as they have APIs for SMS. If you want your application to send MMS you will have to write everything. Please refer the AOSP code. https://github.com/android/platform_packages_apps_mms OR you can simply build the Intent and then launch the native Messaging App.




回答3:


Android's SmsManager API now supports this functionality since API level 21, with the sendMultimediaMessage method:

void sendMultimediaMessage (Context context, 
                Uri contentUri, 
                String locationUrl, 
                Bundle configOverrides, 
                PendingIntent sentIntent)


来源:https://stackoverflow.com/questions/17362191/how-to-send-mms-without-intent-programmatically

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!