Android DroidGap deshabilitar el botón Atrás
Por favor, alguien sugiere, ¿cómo puedo inhabilitar el evento de pulsación de botón trasero mientras trabajaba con PhoneGap
?
Necesito hacer algo en mi Activity
, (código DroidGap
) para controlar el evento del botón de retorno.
- CrossWalk Webview no inicia la URL
- Android: ClassNotFoundException mientras incluye ZXing
- Phonegap - navigator.connection.type no definido
- Agregue una dependencia a un complemento de Android Cordova
- Cordova evitar la recarga de la página en el navegador de nuevo
Incluso, el código siguiente funciona bien en mi Activity
, pero no funciona cuando se utiliza con DroidGap
.
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { //preventing default implementation previous to android.os.Build.VERSION_CODES.ECLAIR return true; } return super.onKeyDown(keyCode, event); }
- OpenAllWhitelistURLsInWebView para Android en Cordova / Phonegap
- Acceso localStorage o base de datos web creada en PhoneGap desde código nativo de Android
- GIT: Dos repositorios diferentes con una carpeta compartida
- PhoneGap - ¿Cómo volver cuando se presiona Google Maps "Términos de uso"?
- Ajax no funciona - Jquery Phonegap Android
- Cordova emular - seleccionando un dispositivo virtual de Android
- Cordova error en el android emulador: "android: El comando falló con el código de salida 2"
- Android PhoneGap intento de filtro, el navegador de volver a ejecutar la aplicación?
Llamar a setOnKeyListener
en appView
me ayudó.
Sólo tuve que hacer un pequeño cambio en mi fragmento de código anterior, que es el siguiente:
appView.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { return true; } return onKeyDown(keyCode, event); } });
EDITADO
En realidad, se producen dos acciones mientras se pulsa el botón de evento – Action Up
y Action Down
Por lo tanto, debe utilizarse lo siguiente para obtener el evento clave.
appView.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) { // Do Here whatever you want return true; } return onKeyDown(keyCode, event); } });
Ligeramente mejor que la versión de Narendra. Puede manejar las llamadas de teclas para pulsaciones de teclas distintas del botón de retroceso correctamente. Ponga el código abajo dentro de la cancelación onCreate por ejemplo.
appView.setOnKeyListener(new View.OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_UP) { if(keyCode == KeyEvent.KEYCODE_BACK) { // Do Stuff Here return true; } return onKeyUp(keyCode, event); } return onKeyDown(keyCode, event); } });
En mi caso, utilizo Javascript + jquery así:
$(document).on('backbutton', function(e){ e.preventDefault(); // do whatever you like here. });
// ************ stop the back button ***************** public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { return true; } return super.onKeyDown(keyCode, event); }
if (keyCode == KeyEvent.KEYCODE_BACK) { return true; }
- Android: resoluciones personalizables
- Tratando de coger un clic en android ListView item: android: descendantFocusability = "blocksDescendants" no funciona