2017-02-16 2 views
0

J'ai remarqué récemment ce modèle dans de nombreuses applications et jeux Android: lorsque vous cliquez sur le bouton Précédent pour quitter l'application, un Toast affiche un message similaire à "Appuyez à nouveau sur BACK pour quitter". Après une longue période de recherche, je trouve une extension ANE montrant un joli toast dans mon application, je l'ai testé et ça fonctionne bien après avoir cliqué sur le bouton retour, maintenant je veux fermer mon application après avoir cliqué deux fois sur le bouton 3 secondes, en utilisant un code de forçage exit NativeApplication.nativeApplication.exit (0);Appuyez deux fois sur le bouton Précédent pour quitter une application AIR android

ANE Extension: https://github.com/mateuszmackowiak/NativeDialogs

Mon code:

import flash.ui.Keyboard; 
import flash.events.KeyboardEvent; 
import pl.mateuszmackowiak.nativeANE.notifications.Toast; 

stop(); 

NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, CheckKeypress); 

function CheckKeypress(event: KeyboardEvent): void { 
    switch (event.keyCode) { 
     case Keyboard.BACK: 
      trace("Back key is pressed."); 
      event.preventDefault(); 
      event.stopImmediatePropagation(); 
      Toast.show("Press Back again to exit", Toast.LENGTH_LONG); 
      break; 

     case Keyboard.MENU: 
      trace("Menu key is pressed."); 
      break; 

     case Keyboard.SEARCH: 
      trace("Search key is pressed."); 
      break; 
    } 
} 

Répondre

0

Essayez dans votre MainActivity. Pourrait aider.

@Override 
public void onBackPressed() { 
    finishAffinity(); 
} 
0

Vous pouvez utiliser onBackPressed() dans votre activité. Lorsque l'utilisateur appuie sur le bouton de retour. cette méthode sera invoquée. Je pense que le code suivant vous aidera.

@Override 
public void onBackPressed() { 
    if(initialClickTime == 0){ 
     initialClickTime = System.currentTimeMillis(); 
     //Toast with msg press again to exit 
    }else{ 
     if ((System.currentTimeMillis() - initialClickTime)/1000 == 3){ 
      finish(); 
     }else{ 
      initialClickTime = 0; 
      //Toast with msg press again to exit 
     } 
    }