2013-10-14 49 views
0

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

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卡或不正确的位置)允许附件使用电子邮件工作?

谢谢。

回答

0

System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);将为您提供应用程序私人目录,该目录将解析为/data/data/<your app namespace>/files,并且只能由您的应用程序特别读取。

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

+0

谢谢,还需要为write_external_storage添加权限。 – Neal

相关问题