我几乎找到了许多类似的链接 - 没有任何帮助
- Gmail 不允许我从 /storage/emulated/0/Android/data/myapppackage/cache/..pdf 手动使用 Gmail 和以编程方式获取文件
- 如果将相同的文件下载到 /storage/emulated/0/download/..pdf,则可以附加
代码 -
protected void sendEmail(Context ctx, String filePath){
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Uri uri = Uri.fromfile(new File(filePath)));
emailIntent.setType("application/pdf");
emailIntent.putExtra(Intent.EXTRA_STREAM, uri);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "PDF"));
ctx.startActivity(emailIntent);
}
file_provder.xml
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<cache-path name="cache" path="/" />
<files-path name="files" path="/" />
</paths>
尝试了以下链接,这几乎看起来很完美,但对我不起作用 -通过 FileProvider 将缓存文件附加到 GMail 并且 Intent 不起作用