【发布时间】:2018-12-06 11:10:54
【问题描述】:
我在不同版本的 Android 上运行的 Xamarin Forms 应用程序中使用 SQLite(通过“sqlite-net-pcl”nuget 包)。
出于诊断目的,我需要将数据库文件下载到 PC(即使仅在调试模式下),但似乎无论我将它放在哪个 Android 文件夹中,之后我都找不到它。
我(默认情况下)将文件放在...
System.IO.Path.Combine(Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "database.db")
请注意,在上面我使用 Mono 库而不是 Android 库来查找文件夹。
我已经尝试了大多数“Environment.SpecialFolder”选项,理想情况下,我想要一种方法来确定“Downloads”文件夹的路径,当通过 USB 从 PC 浏览到设备时可用该文件夹(这台 PC \MyDevice\Internal shared storage\Download),但我无法确定该文件夹在不同设备和 Android 版本中的位置。
谁能告诉我如何获取“下载”文件夹的路径,甚至如何获取该文件夹的父文件夹以便我可以创建自己的子文件夹?我怀疑我将需要使用 Android.OS.Environment.DirectoryDownloads 或类似的,但我似乎无法做到这一点。
谢谢。
【问题讨论】:
-
你找不到它的原因是它被隐藏了,它的安卓防火墙试图从外部应用程序和设备中隐藏这些数据,你为什么还需要这个?
-
正如我所说,我希望能够从设备下载数据库文件以进行诊断。在正常操作中,这不是必需的。