尝试在Android电子邮件中附加文件时出现权限错误

时间:2013-10-14 14:51:37

标签: android email android-intent xamarin.android

我正在使用Xamarin.Android,我有一个我创建并添加的日志文件,因为记录了任何异常或消息。一个非常简单的记录器,只需写入文本文件。当有人提交错误报告时,我想将log.txt文件附加到电子邮件中。这由于权限错误(我没有具体细节)而失败,但它与我正在存储日志文件的文件夹有关。我正在使用以下代码,它将显示我存储log.txt文件的位置

    public readonly static string BaseDir = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
    public readonly static string LogFilename = System.IO.Path.Combine(BaseDir, "log.txt");

以下是我用来附加log.txt文件的代码:

Java.IO.File file = new Java.IO.File(Utils.LogFilename);
intent.PutExtra(Intent.ExtraStream, Android.Net.Uri.FromFile(file));

在任何Android设备(SD卡或非SD卡)上存储文件的正确位置在哪里才能使附件与电子邮件一起使用?

谢谢。

1 个答案:

答案 0 :(得分:0)

System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);会为您提供应用私有目录,该目录可解析为/data/data/<your app namespace>/files,并且只能由您的应用专用。

您可能想要的是使用Android.OS.Environment.ExternalStorageDirectory,它为您提供外部存储的路径,这可能是SD卡。这取决于设备。在那里你可以特别为你的应用程序创建一个文件夹,并在其中存储文件,然后你可以传递给电子邮件应用程序。

相关问题