我的问题应该有点简单,但我从网上搜索了很多,找不到答案。
我可以通过以下代码获得辅助可移动存储(sdcard)的路径
String ExternalSdcardPath = System.getenv("SECONDARY_STORAGE") + "/Sample/";
我可以得到这样的路径,/ storage / external_SD / Sample /
我尝试使用NDK API创建文件(fopen(ExternalSdcardPath," a +");)
但我无法使用fopen创建和读取文件..
请告诉我如何在可移动路径(secondary_storage)中使用fopen api创建和读取文件?
答案 0 :(得分:2)
我可以通过以下代码获得辅助可移动存储(sdcard)的路径
不需要存在该环境变量,更不用说指向有意义的事物了。
我无法使用fopen
创建和读取文件
您没有直接文件系统访问Android 4.4 +上可移动存储上的任意位置。
请告诉我如何在可移动路径(secondary_storage)中使用fopen api创建和读取文件?
直接文件系统访问可移动存储的唯一位置位于getExternalFilesDirs()
,getExternalCacheDirs()
和getExternalMediaDirs()
返回的位置。这些都是Context
上的所有方法(例如,活动或服务)。如果它们返回2+值,则第二个和后续值将在可移动存储上。您的Java代码可以为NDK代码提供这些路径。