我有哪些选项可以从 Maui Blazor 混合应用程序交换数据。我可以创建 .csv 文件并将其保存到 Android 手机的“下载”文件夹中吗?就像从浏览器保存 .pdf 一样。对此必须做什么?就我而言,我想从 LiteDB 备份数据库文件,然后再读回该文件。Csv 就可以了。我不想使用电子邮件。
首先请在Platforms\Android\AndroidManifest.xml中添加以下有关存储的权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<!-- Required only if your app needs to access images or photos that other apps created -->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<!-- Required only if your app needs to access videos that other apps created -->
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<!-- Required only if your app needs to access audio files that other apps created -->
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
然后在运行时检查存储权限。将以下代码放入Platforms\Android\MainActivity
#if ANDROID
FileStream fileStreamen = new FileStream("/storage/emulated/0/Download/myyyx.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
File.WriteAllText("/storage/emulated/0/Download/my.txt", "Hello");
#endif
然后创建文件并写入或读取它:
#if ANDROID
FileStream fileStreamen = new FileStream("/storage/emulated/0/Download/myyyx.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
File.WriteAllText("/storage/emulated/0/Download/my.txt", "Hello");
#endif
注意:我使用了
/storage/emulated/0/Download
,因为有关获取公共文件夹路径的API已被弃用。但/storage/emulated/0/Download
仍然有效。