2011-10-06 15 views
9

He intentado llamar al ANativeActivity_finish (estado-> actividad) desde el código cuando finaliza la solicitud. Esto funciona, sin embargo, mi solicitud no puede ser reiniciado y se muestra lo siguiente en LogCat:¿Cómo finalizar la aplicación android NDK (actividad nativa) programáticamente?

W/ActivityManager( 238): Duplicate finish request for HistoryRecord 

todo parece funcionar correctamente cuando el usuario pulsa el botón de atrás, sin embargo necesito estar en condiciones de emitir el comando de salida desde el interior mi aplicación. ¿Cualquier sugerencia?

Respuesta

4

Ese es el camino. No sé cómo te va exactamente, supongo que haces esa llamada al final del código y luego regresas desde android_main.

Tienes que ANativeActivity_finish() y continuar con el ciclo de eventos hasta android_app->destroyRequested. En su controlador de eventos, encontrará los correspondientes APP_CMD_STOP y APP_CMD_DESTROY.

Haciéndolo de esta manera, ahora no tengo problemas. Solía ​​hacerlo con exit (0), pero eso no era lo correcto.

Cuestiones relacionadas