如何以编程方式无意地发送彩信

时间:2013-06-28 10:06:43

标签: android mms smsmanager

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);

我想发送彩信,但我不想使用上面的意图对象,因为我正在开发自己的短信管理器应用程序。那我怎么发MMS?

我指的是to this link code,但我不理解它,它不起作用。

3 个答案:

答案 0 :(得分:2)

目前没有公共API可以在Android中发送彩信。

答案 1 :(得分:1)

MMS是Android中基于HTTP的请求。 您必须拥有移动数据才能发送彩信。 Android没有公开发送MMS的API,因为它们有用于SMS的API。 如果您希望您的应用程序发送彩信,您将必须编写所有内容。 请参阅AOSP代码。 https://github.com/android/platform_packages_apps_mms 或者您可以简单地构建Intent,然后启动本机Messaging App。

答案 2 :(得分:-2)

Android的SmsManager API现在支持此功能,因为API级别为21,使用sendMultimediaMessage方法:

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