3

純粋なC++ゲームをAndroidに移植していますが、ターゲットはAndroid 3.0以降のタブレットであるため、Javaを完全に回避するためにNativeActivityを使用することにしました。ただし、デバイスの内部ストレージに書き込むことができる機能が表示されません。どのディレクトリに書き込むかわからず、内部ストレージファイルシステムにアクセスできないため、fopen()の呼び出しは失敗します。

このコードは通常、Javaでトリックを実行し、アプリの内部書き込み可能データディレクトリへのパスを提供します。

mContext.getFilesDir();

誰かがC++の代替を知っていますか?それ以外の場合は、上記のスニペットをJNIで呼び出す必要があります。

もちろん、$ NDK /..../ include / android /ヘッダーを調べましたが、必要なメソッドの候補が見つかりません。

4

1 に答える 1

9

やっと見つけました。内部ストレージディレクトリへのパスがandroid/native_activity.hのANativeActivityのメンバーとして宣言されていることがわかります。

/**
 * Path to this application's internal data directory.
 */
const char* internalDataPath;
于 2011-06-29T20:02:55.617 に答える