Use the MAUI-specific class Microsoft.Maui.Storage.FileSystem
, namespace Microsoft.Maui.Storage
, which provides more cross-platform compatible libraries.
In the Platform\Android
folder, use the following code to query.
1
2
3
4
|
var dir = Environment.GetExternalStoragePublicDirectory(Environment.DirectoryPictures);
var files = Directory.GetFiles(dir.AbsolutePath, "*");
var path = Android.App.Application.Context.GetExternalFilesDir(null);
var cache = Android.App.Application.Context.GetExternalCacheDirs().First().AbsolutePath;
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
// Get the full path of the app executable
string location = Assembly.GetExecutingAssembly().Location;
// Get the directory of the app
var localDir = Path.GetDirectoryName(location);
if (Directory.Exists(localDir))
{
// Get a list of subdirectories
var dir = Directory.GetDirectories(localDir);
//foreach (var item in dir)
{
var ffs = Directory.GetFiles(dir.Last());
ffs = Directory.GetFiles(dir.First());
ffs = Directory.GetFiles(FileSystem.Current.AppDataDirectory);
}
// Get a list of subdirectories in the app directory "/data/user/0/com.companyname.mauiapp2/files"
var fs = Directory.GetDirectories(FileSystem.Current.AppDataDirectory);
foreach (var item in fs)
{
var ffs = Directory.GetFiles(item);
}
var files = Directory.GetFiles(localDir);
List<string> list = new List<string>();
string ss = "";
foreach (var file in files)
{
var f = Path.GetFileName(file);
list.Add($"{f}");
}
foreach (var item in list.Order())
{
ss += $"{item}\r\n";
};
s = JsonSerializer.Serialize(list);
}
|