2011-10-06 10 views
9

Ho provato a chiamare ANativeActivity_finish (stato-> attività) dal codice quando la richiesta di chiusura della richiesta. Questo funziona, ma la mia domanda non può essere riavviato e si vede quanto segue in LogCat:Come terminare l'applicazione Android NDK (attività nativa) programmaticamente?

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

Tutto sembra funzionare correttamente quando l'utente preme il pulsante indietro, però ho bisogno di essere in grado di emettere il comando exit dal di dentro la mia applicazione. Qualche suggerimento?

risposta

4

Questo è il modo. Non so come stai esattamente, suppongo che tu faccia quella chiamata alla fine del codice, quindi torni da android_main.

Devi ANativeActivity_finish() e continuare con il ciclo degli eventi fino a android_app->destroyRequested. Nel gestore dell'evento, troverai l'appropriato APP_CMD_STOP e APP_CMD_DESTROY.

Facendolo in questo modo, ora non ho problemi. L'ho usato con exit (0), ma non era la cosa giusta.