2014-02-07 40 views
0

我想用电子邮件信函发送文本文件。 但事情是,我希望这个文件对我的应用程序是私人的,我只想为电子邮件应用程序提供读取权限。在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"; 

所以,我所看到的,在内部存储器中的文件无法读取电子邮件应用软件,无论我如何努力。

有没有办法让它可读?

或者可能有办法在外部存储器中创建私人目录/文件?

回答

相关问题