在Android中存储应用程序文件的位置,以便其他应用程序可以访问它们(Xamarin)

时间:2017-03-22 02:43:11

标签: android xamarin permissions file-access

关于在Android上存储数据的位置存在大量问题,我不想复制任何这些数据。本文提供了一些回答这个问题的起点:

https://developer.android.com/guide/topics/data/data-storage.html

大多数其他文章告诉我把文件放在这里: System.Environment.SpecialFolder.Personal

但是,我需要其他应用才能访问该文件。我应该选择哪个文件夹,以便我可以从Android上的文件浏览器导航到该文件夹​​,或者能够通过USB将文件复制到我的Windows机器。

我随机尝试了文件夹System.Environment.SpecialFolder.CommonApplicationData,但是应用程序出错并且我无法编写该文件。

基本上,我要问的是:我可以在应用程序外部轻松访问的Android应用程序中写入哪个文件夹?我很高兴添加权限。这主要是为了调试目的。

1 个答案:

答案 0 :(得分:2)

通过External Storage获取外部存储路径,将文件存储在Environment.ExternalStorageDirectory.AbsolutePath

示例:

public class FileStorage
{
    public string MyExternalFolder
    {
        get
        {
            return Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, "MyAppFolder");
        }
    }

    public void SaveToExternalStorage(string fileName, string content)
    {
        var filePath = Path.Combine(MyExternalFolder, fileName);

        File.WriteAllText(filePath, content);
    }
}