0

私はアンドロイドが初めてで、インテントを使用して複数のファイルをgmailに送信しようとしています。しかし、添付ファイルを送信していません。これを手伝ってください。

以下は私のコードです:

Intent targetedShare = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
        targetedShare.setType("image/*"); // put here your mime type

        targetedShare.putExtra(Intent.EXTRA_SUBJECT, "Amplimesh Photo");
        targetedShare.putExtra(Intent.EXTRA_TEXT,"Attached the Quote");

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

        //Fetching the Installed App and open the Gmail App.
        for(int index = 0; index < productList.size(); index++) {
            ByteArrayInputStream byteInputStream = new ByteArrayInputStream(productList.get(index).getOverlayBitmap());
            Bitmap overLayBitmap = BitmapFactory.decodeStream(byteInputStream);

            String fileName = SystemClock.currentThreadTimeMillis() + ".png";

            //Save the bitmap to cache.
            boolean isSaved = Helper.saveImageToExternalStorage(overLayBitmap, getApplicationContext(), fileName);
            if(isSaved)
                uris.add(Uri.fromFile(new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/amplimesh", fileName)));
        }
        targetedShare.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
        startActivityForResult(Intent.createChooser(targetedShare, "Sending multiple attachment"), 12345);
4

3 に答える 3

0

prj のサンプル作業コードは次のとおりです。

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.."));
于 2013-08-14T07:09:35.720 に答える
0

私のプロジェクトの1つで複数の添付ファイルに使用した次のコードを試してください。

public static void sendEmailWithMultipleAttachment(Context context,
        String caption, ArrayList<String> fileList) {
    Intent emailIntent = new Intent(
            android.content.Intent.ACTION_SEND_MULTIPLE);
    emailIntent.setType("application/octet-stream");
    emailIntent.setType("message/rfc822"); // use from live device

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

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

    for (String file : fileList) {
        File fileIn = new File(file);
        Uri u = Uri.fromFile(fileIn);
        uris.add(u);
    }
    emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
    context.startActivity(Intent.createChooser(emailIntent,
            "Select email application."));
}

ここでArrayList<String> fileListは、画像または任意のファイルのパスの配列になります。

于 2013-08-14T07:20:52.757 に答える