【发布时间】:2021-10-10 07:29:51
【问题描述】:
我在从可怕中获取文件名时遇到问题。我想创建迷你文件管理器来保存/读取文件。当我使用此代码时
var F = new DirectoryInfo(direPath).GetFiles("*", SearchOption.TopDirectoryOnly);
,我的程序总是返回长度为 0 的选项卡。
请帮助我找到这种或其他方式从例如获取文件名的好方法。外部存储可怕。
这些方法不起作用:
1.Directory.GetFiles(direpath)
2.DirectoryInfo(direpath).GetFiles()
3.Directory.EnumerateFiles(direpath)
4.DirectoryInfo(direpath).EnumerateFiles()
5.Directory.EnumerateFileSystemInfos(direpath)
6.DirectoryInfo(direpath).EnumerateFileSystemInfos()
我的具有权限的清单:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.simplepopupform" android:installLocation="auto"> <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" /> <application android:label="SimplePopupForm.Android" android:theme="@style/MainTheme"></application> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" /> </manifest>
【问题讨论】:
-
Android 会锁定您的应用有权访问的所有文件夹。您的应用将无权查看设备的根文件夹(除非您已请求“root”权限。您必须使用 SpecialFolder.XXX 这将为您提供可用于枚举的路径,但它将是仅限于您的应用程序,而不是整个设备。docs.microsoft.com/en-us/xamarin/android/platform/files
-
尼尔,我该怎么做?
-
你能做什么?查看根文件夹中的文件,查看应用程序的文件夹?
-
尼尔,这种方式在我的应用程序中不起作用。
-
stackoverflow.com/questions/44724428/…这个链接可能对你有帮助
标签: c# android xamarin.forms directory getfiles