You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C# MAUI安卓项目中获取可读写应用数据目录路径?

在C# MAUI安卓项目中获取可USB访问的应用数据目录

可以获取你需要的/storage/emulated/0/Android/data/[包ID]/files目录,这个路径对应安卓的外部私有应用数据目录,既支持应用读写文件/目录,也能在USB连接电脑时被文件管理器直接访问(例如This PC\Galaxy Tab A8\Tablet\Android\data\com.test.dir\files),和你在Qt中用QStandardPaths::GenericDataLocation获取的路径功能完全一致。

以下是具体实现方法:

方法一:安卓原生API调用(仅安卓平台)

直接通过安卓应用上下文获取,无需手动拼接包ID,系统会自动匹配当前应用的包名:

// 需添加 using Android.App;
string externalFilesPath = Application.Context.GetExternalFilesDir(null)?.AbsolutePath;

返回的externalFilesPath就是目标路径。

方法二:跨平台兼容写法

如果项目需要兼顾多平台,可通过条件编译单独处理安卓端逻辑:

string targetDirectory = string.Empty;

#if ANDROID
targetDirectory = Android.App.Application.Context.GetExternalFilesDir(null)?.AbsolutePath ?? string.Empty;
#elif IOS
// iOS 对应逻辑,示例为获取应用沙盒数据目录
targetDirectory = FileSystem.AppDataDirectory;
#else
// Windows、macOS 等其他平台逻辑
targetDirectory = FileSystem.AppDataDirectory;
#endif

注意:该目录属于应用私有外部存储,安卓11及以上系统无需额外申请存储权限,应用即可正常读写;USB连接电脑时需确保设备开启了「文件传输」模式。

内容的提问来源于stack exchange,提问作者Alex F

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:52:25