我正在将纯 C++ 游戏移植到 Android,由于我的目标是 Android 3.0+ 平板电脑,因此我选择使用 NativeActivity 以完全避免使用 Java。但是,我看不到任何允许我写入设备内部存储的功能。调用 fopen() 将失败,因为我不知道我应该写入哪个目录并且内部存储文件系统不可访问
此代码通常在 Java 上起作用,为我的应用程序提供了内部可写数据目录的路径:
mContext.getFilesDir();
有人知道 C++ 的替代品吗?否则,我将不得不使用 JNI 调用上面的代码 fragment 。
当然,我已经查看了 $NDK/..../include/android/ header ,但我没有看到我需要的候选方法。
最佳答案
我终于找到了。原来内部存储目录的路径在 android/native_activity.h 中被声明为 ANativeActivity 的成员:
/**
* Path to this application's internal data directory.
*/
const char* internalDataPath;
关于android - 如何使用 NativeActivity 写入内部存储文件系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6525724/