将图像附加到MMS

时间:2011-01-27 10:53:22

标签: android mms

我正在尝试将从图库中挑选的图像附加到彩信中。

我正在使用以下代码

public void onActivityResult(int requestCode, int resultCode, Intent data) {

if (resultCode == RESULT_OK) {
    if (requestCode == SELECT_PICTURE) {

        Uri selectedImageUri = data.getData();
        selectedImagePath = getPath(selectedImageUri);
        Uri uri = Uri.parse(selectedImagePath);
        Intent sendIntent = new Intent(Intent.ACTION_SEND); 
        sendIntent.putExtra("sms_body", "some text"); 
        sendIntent.putExtra(Intent.EXTRA_STREAM, uri);
        sendIntent.setType("image/png"); 
        startActivity(Intent.createChooser(sendIntent, ""));
    }
}

当我选择图像时,它会重定向到MMS应用程序,但会显示一个显示Sorry you could not attach this image的祝酒词。

当我尝试通过电子邮件发送同一张图片时,没有出现任何错误。这是Logcat输出。

01-27 16:04:26.485: ERROR/Mms/media(728): IOException caught while opening or reading stream
01-27 16:04:26.485: ERROR/Mms/media(728): java.io.FileNotFoundException: No content provider: /sdcard/6906-lightning.jpg
01-27 16:04:26.485: ERROR/Mms/media(728):     at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:507)
01-27 16:04:26.485: ERROR/Mms/media(728):     at android.content.ContentResolver.openInputStream(ContentResolver.java:345)
01-27 16:04:26.485: ERROR/Mms/media(728):     at java.lang.reflect.Method.invoke(Method.java:521)

我还想知道在打开MMS应用程序时如何插入预定义的PhoneNumber。

1 个答案:

答案 0 :(得分:1)

对它进行排序......

我的错误。而不是uri流我通过图像位置。

使用...

解决了这个问题
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(selectedImageUri.toString()));