1

画像ファイルと .txt ファイルを添付しようとしていますが、一方のファイルしか添付されず、両方のファイルを添付する方法がありません。私が使用するACTION_SEND_MULTIPLEと、アプリは強制的に閉じられます。

ここに私のコードがあります:

public static Intent getSendEmailIntent(Context context, String email,
        String subject, String body, String fileName) {


    final Intent emailIntent = new Intent(Intent.ACTION_SEND);

    // Explicitly only use Gmail to send
    emailIntent.setClassName("com.google.android.gm",
            "com.google.android.gm.ComposeActivityGmail");

    emailIntent.setType("*/*");

    // Add the recipients
    emailIntent.putExtra(android.content.Intent.EXTRA_STREAM,
            new String[] { email }
            );

    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);

    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, body);

    // Add the attachment by specifying a reference to our custom
    // ContentProvider
    // and the specific file of interest
    emailIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse("content://" + CachedFileProvider.AUTHORITY + "/"+ "anything.txt"));
    emailIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse("content://" + CachedFileProvider.AUTHORITY + "/"+ "anything.jpg"));

    return emailIntent;
}

返却前に最後に.jpgファイルを入れたら添付です。しかし、最後に .txt ファイルを配置すると、添付されます。両方のファイルを添付したいので、助けてください。

4

1 に答える 1

1

以下のコードを使用して、ファイルパスをファイルに変更するだけです。

ArrayList<Uri> imageUris = new ArrayList<Uri>();
imageUris.add(Uri.fromFile(new File("/mnt/sdcard/Medplann/IMG.jpg"))); // Add your image URIs here
imageUris.add(Uri.fromFile(new File("/mnt/sdcard/Medplann/Report.pdf")));

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
shareIntent.setType("image/*");
startActivity(Intent.createChooser(shareIntent, "Share images to.."));

このページを読む :送信

于 2012-09-14T11:39:49.583 に答える