使用NDK API在Android中进行可移动存储访问

时间:2016-11-07 00:23:46

标签: android android-ndk storage external sd-card

我的问题应该有点简单,但我从网上搜索了很多,找不到答案。

我可以通过以下代码获得辅助可移动存储(sdcard)的路径

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

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

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

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

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

1 个答案:

答案 0 :(得分:2)

  

我可以通过以下代码获得辅助可移动存储(sdcard)的路径

不需要存在该环境变量,更不用说指向有意义的事物了。

  

我无法使用fopen

创建和读取文件

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

  

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

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