android - 如何使用 NativeActivity 写入内部存储文件系统?

标签 android filesystems android-3.0-honeycomb android-ndk native-activity

我正在将纯 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/

相关文章:

android - Pub/Sub - 当 STATE 在注册时处于 Activity 状态时推送到 API

java - 从 getter 方法获取数据而不是传入 Bundle

android - Lollipop 版软键盘隐藏EditText

java - 需要帮助从 firebase 读取数据

windows - 一些支持 "\Device\Xxx"格式的NT命名空间绝对路径的API

ios - 使用 Swift 从 documentDirectory 中删除文件夹

linux - Docker 容器的文件系统是什么?在此容器内运行的应用程序在哪个文件系统上运行?

android - Camera Image Capture Intent 无法在 Galaxy Tab 限量版中返回

android - 如何更改Android溢出菜单图标

android - Honeycomb android :hardwareAccelerated ="true" manifest setting apply for Live Wallpapers?是否