如何解决Xamarin.Android:阻止Package文件夹从应用程序上的外部存储中卸载吗?
如果我正在编写的应用程序将某些文件永久存储到外部存储中(这样在应用程序退出[销毁] /卸载后它们仍然存在)会很方便。我想进行数据库备份并存储一些缓存和日志文件。我的目标是Android-11,而之前我可以访问外部存储。 有什么办法可以使这些文件在卸载时不被删除? 非常感谢您提供示例帮助。
解决方法
您可以将文件以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不提供用于访问外部存储的api,我们必须在每个特定平台中实现它。您可以使用依赖服务。 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。