0

我正在使用 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 卡)上存储文件以允许附件与电子邮件一起使用的正确位置在哪里?

谢谢你。

4

1 回答 1

0

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

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

于 2013-10-14T23:08:13.460 回答