如果我正在编写的应用程序将一些文件永久地存储到外部存储中(这样它们在应用程序退出、销毁/卸载后仍然存在),这将是很方便的。我想进行数据库备份,并存储一些缓存和日志文件。我的目标是Android-11,而之前我可以访问外部存储。有没有办法让这些文件在卸载时不被删除?帮助例子将是非常感谢的。
发布于 2020-10-21 17:22:59
您可以将该文件作为PUBLIC_EXTERNAL_STORAGE保存到外部存储上的公共文件存储目录中。https://docs.microsoft.com/en-us/xamarin/android/platform/files/external-storage?tabs=windows
例如,我使用下载文件夹。
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();
}Xamarin.Forms没有提供访问外部存储的接口,我们必须在每个特定的平台上实现它。您可以使用依赖项服务。https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/dependency-service/introduction
下面是一个依赖服务的示例,供您参考。Save image from an image box to gallery in Xamarin Forms
从Android 6.0或更高版本开始,我们需要运行时权限检查。你可以检查一下我之前的例子。Xamarin.Forms WebView not working with WebRTC
https://stackoverflow.com/questions/64445922
复制相似问题