2013-10-14 68 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

相關問題