NativeActivity non finisce

Chiamo una NativeActivity da una JavaActivity. Il punto di ingresso della mia NativeActivity è

android_main(struct android_app* state) 

Alla fine di questo, chiamo

  • Come spedire la libreria per Android
  • Gson Serializing HashMap <Maestro, Elenco <Studente>
  • Utilizzando Square's Retrofit Client, è ansible annullare una richiesta in corso? Se è così, come?
  • Come riutilizzare le attività? Non creare attività each volta
  • Puoi usare admob durante l'alfa e il test beta in Google Play?
  • Puoi spiegare la funzionalità di requestRouteToHost () in android?
  •   ANativeActivity_finish 

    Tuttavia, la mia attività nativa appende appena, invece di tornare all'attività Java che lo ha chiamato (è stato chiamato semplicemente utilizzando startActivity ). Sembra che sia in uno stato di pausa. L'unico modo per riuscire a tornare all'attività precedente è call l' exit(0) alla fine del mio android_main, tuttavia questo uccide il process e provoca altre problematiche.

    Come posso uscire con successo NativeActivity e tornare alla JavaActivity che lo ha chiamato?

  • Disabilita l'importzione di Crashlytics
  • Admob android che dà codice di errore 0
  • Altezza della barra di stato?
  • Il modo di andare a dormire di Nexus 5 rende il ciclo di vita del ciclo di attività
  • Cassetto Draggable con una maniglia (invece di barra d'azione) sopra altre applicazioni
  • Selettore personalizzato di Android per ActionBarToggleButton
  • 2 Solutions collect form web for “NativeActivity non finisce”

    Corro nello stesso problema. Fondamentalmente funziona per me quando ANativeActivity_finish (..) viene chiamato nel loop principale, perché invalidizza gli stati e finisce l'applicazione stessa impostando state-> destroyRequested a 1 dopo aver chiamato ANativeActivity_finish (..) in void statico android_app_destroy (struct android_app * android_app) (android_native_app_glue.c C: 173).

     void android_main(struct android_app* state) { // Attach current state if needed state->activity->vm->AttachCurrentThread(&state->activity->env, NULL); ... // our main loop for the app. Will only return once the game is really finished. while (true) { ... while ((ident=ALooper_pollAll(engine.animating ? 0 : -1, NULL, &events,(void**)&source)) >= 0) { ... // Check if we are exiting. Which is the case once we called ANativeActivity_finish(state->activity); if (state->destroyRequested != 0) { // Quit our app stuff herehere // detatch from current thread (if we have attached in the beginning) state->activity->vm->DetachCurrentThread(); // return the main, so we get back to our java activity which calle the nativeactivity return; } } if (engine.animating) { // animation stuff here } // if our app told us to finish if(Closed) { ANativeActivity_finish(state->activity); } } } 

    Beh, è ​​troppo tardi per te, credo, ma ho passato così tanto tempo perché non riuscivo a trovare un sultione in modo da postare qui per tutti coloro che corrono negli stessi problemi. Ulteriori informazioni su altre cose complicate relative alla chiusura e alla connessione di chiamate possono essere trovate qui: Accesso ai dati di Android APK Asset direttamente in c ++ senza Asset Manager e copia

    Una soluzione che finalmente ha funzionato per me per finire una (sottoclass di) NativeActivity dall'app (lato nativo) stava chiamando un metodo java che esegue finish() sul thread UI.

    C / C ++ lato:

     ... jmethodID FinishHim = jni->GetMethodID(activityClass, "FinishMe", "()V"); jni->CallVoidMethod(state->activity->clazz, FinishHim); 

    Lato Java:

     public class CustomNativeActivity extends NativeActivity { ... public void FinishMe() { this.runOnUiThread(new Runnable() { public void run() { finish(); } }); } } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.