如何获得公共存储路径? (没有SD卡)

时间:2017-04-10 04:21:14

标签: android gmail

我有两个应用程序,一个是写文件而另一个(Gmail)正在尝试附加该文件。但现在,Gmail应用程序会出现错误

  

附加文件的权限被拒绝。

我认为我将文件存储在/data/data/PACKAGE/files/file.txt的私人目录中 我在哪里可以写文件,以便Gmail应用程序不会出错? 我将文件附加为;

String filelocation = "/data/data/com.example.xxxxxxxxx/files/file.txt";
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setType("text/plain");
String message="File to be shared is " + file_name + ".";
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse( "file://"+filelocation));
intent.putExtra(Intent.EXTRA_TEXT, message);
intent.setData(Uri.parse("mailto:xyz@gmail.com"));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

1 个答案:

答案 0 :(得分:0)

我建议不要使用静态文件路径,而是使用UITableView将您的目录返回到公共存储。然后,您可以将静态路径设置为私有文件夹,并与/filename.extension合并。