私のアンドロイドアプリケーションは2つのアクティビティをコンパイルします: ".MainActivity"と "android.app.NativeActivity"。後者は純粋にC++で実装されています。 「.MainActivity」のボタンクリックで、私はいくつかのパラメータを渡すしようとしているネイティブの1を起動します。Androidのパラメータをネイティブアクティビティに渡す
public void pressedButton(View view)
{
Intent intent = new Intent(this, android.app.NativeActivity.class);
intent.putExtra("MY_PARAM_1", 123);
intent.putExtra("MY_PARAM_2", 321);
startActivity(intent);
}
は、どのように私はそれがC-機能void android_main(struct android_app* state)
です(android.app.NativeActivityのエントリポイント内からMY_PARAM_1とMY_PARAM_2を得るのですか)?
ありがとうございます。しかし、別の質問が私にはっきりしています: 'state-> activity-> env'をそのまま使うか、' state-> activity-> vm-> AttachCurrentThread(&env、0); ' ? – Nick
Hm ...(android_native_app_glue.cの)スレッドスタートアップコードを見ていて、ネイティブのアクティビティスレッドにアタッチされていないようです。ですから、 'env'を使うのではなく、最初にスレッドにJVMを付ける必要があります。答えを編集しました。 –