我必须打开我的应用程序电子邮件(G-mail),它必须附加到一些pdf
pdf位于应用程序创建的文件夹中。 该文件夹未在SD卡上创建。
我的平板电脑没有SD卡。 我的平板电脑没有SD卡。 我的平板电脑没有SD卡。
如何发送这些pdf用于电子邮件?
if(android.os.Environment.getDataDirectory().equals(android.os.Environment.MEDIA_MOUNTED))
cacheDir=new File(android.os.Environment.getDataDirectory(),"MyAPP");
//String FILENAME = "testejan1.pdf";
//String string = "hello world!";
//File file = new File (Environment.getDataDirectory().getPath(), "/MyAPP/"+"testejan1.pdf");
//Uri path = Uri.fromFile(file);
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("application/pdf");
//shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "flip_novidade@hotmail.com" });
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "Material de apoio do mês de " + mesclicado);
shareIntent.putExtra(Intent.EXTRA_TEXT, "Você esta recebendo um super material de visitação médica");
//shareIntent.setDataAndType(path, "application/pdf");
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///MyAPP/"+"testejan1.pdf"));
//shareIntent.setType("file/*");
startActivity(shareIntent);
答案 0 :(得分:0)
i.setType("application/pdf");
i.putExtra(Intent.EXTRA_STREAM, Uri.parse("pdf path"));
答案 1 :(得分:0)
您的大多数代码看起来都是正确的。两件事:
在应用程序的本地文件系统中创建PDF文件时,需要使用MODE_WORLD_READABLE
标志创建它。这是其他应用程序能够打开PDF所必需的。
然后使用Uri.fromFile
为您的文件获取Android URI(您可以使用注释代码进行此操作)。
请注意MODE_WORLD_WRITEABLE
被视为安全措施不佳,因为设备上的任何应用都可以访问您的PDF文件。更好的解决方案是创建ContentProvider
并使用content:
URI将PDF数据提供给外部应用程序。这使您可以控制是否允许或拒绝对PDF文件的任何单独加载进行访问(但这需要更多工作)。