Прикрепление изображений к MMS - PullRequest
0 голосов
/ 27 января 2011

Я пытаюсь прикрепить изображение, выбранное из галереи изображений, к 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)

Я также хочу знать, как вставить предварительно определенный PhoneNumber при открытии приложения MMS.

1 Ответ

1 голос
/ 14 февраля 2011

отсортировано ...

Моя ошибка. Вместо потока URI я передал местоположение изображения.

Решил с помощью ...

sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(selectedImageUri.toString()));
...