【发布时间】:2021-07-07 13:00:19
【问题描述】:
我正在使用 UnoPlatform 创建一个 Android 应用程序,我正在寻找已读取的目录和文件到外部 USB 记忆棒中。 这是我正在使用的代码,但经过多次尝试后,此链接
File exists and IS directory, but listFiles() returns null
我无法获取目录或文件,因为 ListFiles 方法总是返回 null
var extDirs = Context.GetExternalFilesDirs("");
if (extDirs != null && extDirs.Count() > 0)
{
foreach (var extDir in extDirs)
{
var directories = extDir.ListFiles();
...
Read_External_Storage 和 Write_External_Storage 被检查并
extDir.CanRead() = True
extDir.IsDirectory = True
extDir.AbsolutePath = "/storage/5CD7-B286/Android/data/UnoPlatform.UnoPlatform/files"
这是我的 AndroidManifest
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<application android:requestLegacyExternalStorage="true"
有人可以帮助我吗?
【问题讨论】:
-
我正在使用 Android 10.0 在三星 Galaxy A7 中测试该应用
-
您是如何获得该路径的?通过 GetExternalFilesDirs() ?通常无法使用经典文件系统路径访问 USB OTG 驱动器,而只能使用 SAF。如果 UnoPlatform.UnoPlatform 确实是您的应用特定路径,则您根本不需要权限。
-
@blackapps 是的 UnoPlatform.UnoPlatform 是我的应用程序的名称。我获得路径 Android.App.Application.Context.GetExternalFilesDirs("")
-
如果没有要列出的文件,您应该得到一个空数组而不是 null。但是谁知道...里面有文件吗?
-
是的,充满了目录和文件
标签: c# android android-external-storage uno-platform