Mi aplicación de Android compila dos actividades: ".MainActivity" y "android.app.NativeActivity". Este último se implementa puramente en C++. En el botón de clic en ".MainActivity" Comienzo una nativa tratando de pasar algunos parámetros:Parámetro de pase de Android a Actividad nativa
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ómo llego MY_PARAM_1 y MY_PARAM_2 desde dentro del punto de entrada android.app.NativeActivity (que es una función de C-void android_main(struct android_app* state)
)?
Gracias. Pero me ha surgido otra pregunta poco clara: ¿puedo usar 'state-> activity-> env' como está, o tengo que adquirirlo usando' state-> activity-> vm-> AttachCurrentThread (& env, 0); ' ? – Nick
Hm ... Estoy mirando el código de inicio de la secuencia (en android_native_app_glue.c), y parece que no está adjuntado a la secuencia de actividad nativa. Así que sí, debes unir una JVM al hilo primero en lugar de usar 'env'. Editado la respuesta. –