使用 NDK API Android 中的可移动存储访问

Removable Storage Access in Android with NDK API

我的问题应该比较简单,但是我在网上搜索了很多,都找不到答案。

我可以用下面的代码获取辅助移动存储(sdcard)的路径

String ExternalSdcardPath = System.getenv("SECONDARY_STORAGE") + "/Sample/";

我可以得到这样的路径,/storage/external_SD/Sample/

我尝试用 NDK 创建文件 API ( fopen(ExternalSdcardPath, "a+"); )

但我无法使用 fopen 创建和读取文件..

你能告诉我如何在可移动路径 (secondary_storage) 中使用 fopen api 创建和读取文件吗?

I could get the path of secondary removable storage(sdcard) with below code

没有要求该环境变量存在,更不用说指向有意义的东西了。

I couldn't create and read file with fopen

您无法直接访问 Android 4.4+ 上可移动存储上的任意位置的文件系统。

can you please tell me how to create and read file with fopen api in removable path(secondary_storage) ?

您可以直接访问可移动存储的文件系统的唯一位置是 return 由 getExternalFilesDirs()getExternalCacheDirs()getExternalMediaDirs() 编辑的位置。这些都是 Context 上的所有方法(例如 activity 或服务)。如果它们 return 2+ 个值,则第二个和后续值在可移动存储上。您的 Java 代码可以为您的 NDK 代码提供这些路径。