Member 10944555 Ответов: 1

Добавить вложение в приложение gmail через intent android


У меня есть приложение, которое может открывать PDF через ленту на приложение, openwith, а также вложение электронной почты. Я конвертирую этот файл в inputstream, а затем в bytearray. Теперь я хочу, чтобы этот открытый pdf-файл был прикреплен в качестве вложения к gmail с помощью Intent. Я достиг этого с помощью следующего кода, который добавляет pdf в качестве вложения без размера, но полученная почта не содержит вложения, и отображается уведомление о невозможности отправки вложения. Пробовал много способов ... но безуспешно.. любая помощь в самое ближайшее время. заранее спасибо.

Intent sendIntent = new Intent(Intent.ACTION_VIEW);
                sendIntent.setType("application/pdf");
                sendIntent.setData(Uri.parse("testuurmi@gmail.com"));
                sendIntent.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail");
                sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "testuurmi@gmail.com" });
                sendIntent.putExtra(Intent.EXTRA_SUBJECT, "testPDF");
                sendIntent.putExtra(Intent.EXTRA_TEXT, "this is a PDF ");

                File pdfFile=null;
            try {
                pdfFile = new File(attachmentFileName);
                FileOutputStream fos = new FileOutputStream(pdfFile);
                fos.write(bytes);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

                Uri fileuri = Uri.fromFile(pdfFile);
                 sendIntent.putExtra(Intent.EXTRA_STREAM, fileuri);
                //start the gmailapp intent
                startActivity(sendIntent);


Что я уже пробовал:

Я попытался использовать inputstream и bytearray, уже имеющиеся у меня, чтобы сгенерировать uri и прикрепить его. Я не хочу физически записывать файл на SD-карту. Avaialble inputstream или bytearray должны быть преобразованы в pdf и прикреплены к gmail.

1 Ответов

Рейтинг:
0

Member 10222606

please replace <pre>new Intent(Intent.ACTION_VIEW);
к
new Intent(Intent.ACTION_SEND);
и заменить
sendIntent.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail");
к
sendIntent.setPackage("com.google.android.gm");