0

画像ギャラリーから選んだ画像を 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 を挿入する方法も知りたいです。

4

1 に答える 1

1

並べ替え...

私の間違い。uriストリームの代わりに、画像の場所を渡しました。

を使用して解決しました...

sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(selectedImageUri.toString()));
于 2011-02-14T11:51:55.087 に答える