Xamarin.android Android:在应用程序卸载时使用scope storage阻止外部存储中的包文件夹?

Xamarin.android Android:在应用程序卸载时使用scope storage阻止外部存储中的包文件夹?,xamarin.android,android-11,Xamarin.android,Android 11,如果我正在编写的应用程序将一些文件永久存储到外部存储中(这样它们在应用程序退出[销毁]/卸载后仍然存在),这会很方便。我想进行数据库备份并存储一些缓存和日志文件。我的目标是Android-11,而之前我可以访问外部存储。 有没有办法让这些文件在卸载时不被删除? 非常感谢您提供示例方面的帮助。您可以将文件保存到存储目录中,以便将外部存储上的公共文件保存为public\u external\u storage 例如,我使用下载文件夹 var DIR= Environment.GetExter

如果我正在编写的应用程序将一些文件永久存储到外部存储中(这样它们在应用程序退出[销毁]/卸载后仍然存在),这会很方便。我想进行数据库备份并存储一些缓存和日志文件。我的目标是Android-11,而之前我可以访问外部存储。 有没有办法让这些文件在卸载时不被删除?
非常感谢您提供示例方面的帮助。

您可以将文件保存到存储目录中,以便将外部存储上的公共文件保存为
public\u external\u storage

例如,我使用下载文件夹

  var DIR=   Environment.GetExternalStoragePublicDirectory(Environment.DirectoryDownloads);
       
        var FILE=DIR + "/test.txt";
         
        using (FileOutputStream outfile = new FileOutputStream(FILE))
        {
            string line = "The very first line!";
            outfile.Write(System.Text.Encoding.ASCII.GetBytes(line));
            outfile.Close();
        }
Forms不提供访问外部存储的api,我们必须在每个特定的平台上实现它。您可以使用依赖项服务

下面是一个独立服务的示例,供您参考。

从Android 6.0或更高版本开始,我们需要运行时权限检查。你可以看看我之前写的例子。

嗨,谢谢你的回复。我在问题下面的标签中提到了Xamarin.android。我最关心的是“应用卸载时不能删除文件”。您提供的代码将仅创建该文件,但在应用程序卸载时将被删除。在这方面你能帮我吗。感谢您的支持。重点是将文件放在公共外部存储中,而不是创建文件的代码。我提供的代码用于显示在公共外部下载文件夹中创建文件。当我删除我创建的文件时,该文件仍在下载文件夹中。