我想用电子邮件信函发送文本文件。 但事情是,我希望这个文件对我的应用程序是私人的,我只想为电子邮件应用程序提供读取权限。在android中通过电子邮件发送私人文件
所以,我使用的代码:
用于获取文件路径:
LOGFILEPATH = activity.getDir( “my_logs”,Context.MODE_PRIVATE)+ “/log.txt”;
添加文件到电子邮件:
Uri logUri = Uri.fromFile(new File(logFilePath));
mail.putExtra(android.content.Intent.EXTRA_STREAM, logUri);
mail.setType("text/plain");
被创建的文件,我可以看到,它连接至信,当我把它,但是当我收到这封信没有任何附件。
我试过这个选项:
mail.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
activity.grantUriPermission("com.google.android.gm", logUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
但结果是一样的。我试图
mail.setData(logUri);
因为我认为这可能是意图世界阅读标志只影响数据字段,但结果是相同的。
然后我试图更改目录权限:
activity.getDir("my_logs", Context.MODE_WORLD_READABLE) + "/log.txt";
但它给了没有效果。
的
activity.getCacheDir() + "/log.txt";
不是工作压力太大。
是工作的唯一选项是
activity.getExternalCacheDir() + "/log.txt";
所以,我所看到的,在内部存储器中的文件无法读取电子邮件应用软件,无论我如何努力。
有没有办法让它可读?
或者可能有办法在外部存储器中创建私人目录/文件?