3

メールに複数の画像を添付しようとしています。

次のコードを試しましたが、何が間違っているのかわかりません。

表示される整数配列で画像を呼び出し、電子メールに添付する必要があります。

クラスの一部は次のようになります。

Integer[] images = {
        R.drawable.image1,
        R.drawable.image2,
        R.drawable.image3,
        R.drawable.image4 };

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch(v.getId()){

    case R.id.bSendEmail:

        Intent emailintent2 = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
        emailintent2.setType("plain/text");
        emailintent2.putExtra(Intent.EXTRA_EMAIL, emailaddress2);
        emailintent2.putExtra(Intent.EXTRA_SUBJECT, corsub);
        emailintent2.putExtra(Intent.EXTRA_TEXT, message2);

        ArrayList<Uri> uris = new ArrayList<Uri>();

        uris.add(Uri.parse("android.resource://" + getPackageName() + "/" + images[0]));
        uris.add(Uri.parse("android.resource://" + getPackageName() + "/" + images[1]));
        uris.add(Uri.parse("android.resource://" + getPackageName() + "/" + images[2]));
        uris.add(Uri.parse("android.resource://" + getPackageName() + "/" + images[3]));

        emailintent2.putExtra(Intent.EXTRA_STREAM, uris);
        startActivity(emailintent2);

     break;
4

2 に答える 2

1

悪いニュース。単にサポートされていません。

添付ファイルの ZIP アーカイブを作成し、アーカイブを添付することを考えましたか?

(注: 現在のところ、それでも十分に機能していませんが、多くの人はそれで生活できるようです。)

于 2013-03-06T07:52:22.647 に答える
0

使用する

emailintent2.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);

それ以外の

emailintent2.putExtra(Intent.EXTRA_STREAM, uris);

ファイルの使用

private String root = Environment.getExternalStorageDirectory().getPath()
            + Tags.DIRECTORY_PATH;

 path = new ArrayList<String>();

            File f = new File(root);

            File[] files = f.listFiles();

            if (!root.equals(root))

            {

                item.add(root);

                path.add(root);

                item.add("../");

                path.add(f.getParent());
            }
            for (int i = 0; i < files.length; i++)

            {

                File file = files[i];

                path.add(file.getPath());

                if (file.isDirectory())

                    item.add(file.getName() + "/");

                else

                    item.add(file.getName());


  ArrayList<Uri> uris = new ArrayList<Uri>();
            for (String file : path) {
                File fileIn = new File(file);
                Uri u = Uri.fromFile(fileIn);
                uris.add(u);
            }
于 2013-03-06T07:58:49.453 に答える