1

インテントを使用して複数のファイルを添付しようとしています。

私のコードの下。

        Intent mSendIntent = new Intent(android.content.Intent.ACTION_SEND);
        mSendIntent.setType("plain/text");
        mSendIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
                new String[] { "" });
        mSendIntent.putExtra(android.content.Intent.EXTRA_CC, "");
        mSendIntent.putExtra(android.content.Intent.EXTRA_BCC, "");
        mSendIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
                "InfoMe Profile Request");
        ArrayList<String> yList = new ArrayList<String>();
        yList.add(path+filename);
        yList.add(path+"save.ime");
        ArrayList<Uri> y = new ArrayList<Uri>();
        for(String a:yList){
            y.add(Uri.fromFile(new File(a)));
        }
        mSendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,
                y);
        mSendIntent.putExtra(android.content.Intent.EXTRA_TEXT,
                Html.fromHtml(bodypart));
        context.startActivity(Intent.createChooser(mSendIntent,
                "Send mail..."));

しかし、私がそれを送ったとき、添付ファイルが見つかりませんでした。よろしくお願いします。

4

2 に答える 2

3

これは、添付ファイルを介して複数の画像を送信する方法に関する優れたチュートリアルです: http://android-er.blogspot.hk/2012/10/start-activity-to-send-multi-images.html

参考までACTION_SENDに、単一のアタッチメント用です。複数のファイルの場合は、ACTION_SEND_MULTIPLE

その要点は、ボタンをクリックして を呼び出してIntentメールを送信するときは、次のようなものが必要です。

intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, arrayUri);
intent.setType("image/*");
startActivity(Intent.createChooser(intent, "Choice App to send email:"));

ここでarrayUriは、次のように宣言されています。ArrayList<Uri> arrayUri = new ArrayList<Uri>();

完全に機能する例については、チュートリアルに従ってください。また、プロジェクト全体をダウンロードできます。

于 2012-11-10T14:02:58.023 に答える
1

あなたのコードはそれまできれいです

 Intent mailIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
于 2012-11-10T14:01:53.670 に答える