Botón posterior iónico
Tengo la aplicación básica de Ionic que he desactivado el botón de nuevo en la aplicación, ¿hay una razón por la que el botón de nuevo todavía funciona en un dispositivo Android?
Actualmente estoy probando con visión iónica.
- Aplicación Wrapper de Córdoba donde los vínculos internos cargan en la aplicación, los enlaces externos cargan en el navegador
- No se puede evaluar el módulo FacebookLib: No se ha encontrado la configuración con nombre 'debug'
- La conexión no está definida en el plugin de información de la red de Córdoba
- Cordova APP - ¿Es posible mostrar la alimentación de la cámara en un contenedor?
- Cambia el elemento-izquierda-edite en artículo-derecho-edite en iónico
Aquí está mi código:
.run(function($ionicPlatform) { $ionicPlatform.ready(function() { // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard // for form inputs) if(window.cordova && window.cordova.plugins.Keyboard) { cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); } if(window.StatusBar) { // org.apache.cordova.statusbar required StatusBar.styleDefault(); } }); $ionicPlatform.registerBackButtonAction(function(e) { e.preventDefault(); }, 101); })
- Haz que la aplicación Ionic aparezca en la lista "Compartir" y reciba datos
- $ http solicitud estado 0 con https
- Iónico: la cámara pide confirmación después de cada foto / toma varias tomas
- Ionic no puede ejecutar la plataforma iónica android
- No puede cargar recursos al crear para Android Emulator utilizando Visual Studio Tools para Apache Cordova en Visual Studio 2013
- ¿Cómo instalar el marco iónico en Ubuntu?
- Cómo crear una aplicación utilizando Marco iónico sin incluir Ionic.js
- ¿Cómo genera Ionic / Cordova la clave hash?
Según la documentación iónica
Su acción de botón de retroceso anulará cada una de las acciones anteriores cuya prioridad es menor que la prioridad que proporciona.
Y dado que desea desactivar completamente el botón de retroceso en todas las situaciones, y que la prioridad más alta de las acciones en la lista de referencia es 500, debe proporcionar un valor de prioridad superior a 500, 600 por ejemplo. El código siguiente debe funcionar cuando se coloca en $ ionicPlatform.ready ()
$ionicPlatform.registerBackButtonAction(function(e) {}, 600);
Para cualquiera que intente ordenar esto en Ionic 2:
http://www.codingandclimbing.co.uk/blog/ionic-2-android-back-button-13
Y aquí está la información real del poste:
En tu app.ts, haz lo siguiente para que el botón de retroceso funcione como se esperaba (principalmente!):
initializeApp() { this.platform.ready().then(() => { this.registerBackButtonListener(); }); } registerBackButtonListener() { document.addEventListener('backbutton', () => { var nav = this.getNav(); if (nav.canGoBack()) { nav.pop(); } else { this.confirmExitApp(nav); } }); } confirmExitApp(nav) { let confirm = Alert.create({ title: 'Confirm Exit', message: 'Really exit app?', buttons: [ { text: 'Cancel', handler: () => { console.log('Disagree clicked'); } }, { text: 'Exit', handler: () => { navigator.app.exitApp(); } } ] }); nav.present(confirm); } getNav() { return this.app.getComponent('nav'); }
Nota:
Si obtienes errores de que la aplicación no es una propiedad de navegador :
1) Agregue una carpeta de tipings a la raíz de su aplicación: por ejemplo, app / typings
2) Agregue un archivo llamado: pluginshackyhacky.d.ts
3) Agregue las propiedades que necesita extendidas para que TypeScript compile .:
interface /*PhoneGapNavigator extends*/ Navigator { app: any; }
4) Agregue el pluginshackyhacky.d.ts a la compilación en el tsconfig.json :
"files": [ "app/app.ts", "app/typings/pluginshackyhacky.d.ts", "app/typings/phonegap.d.ts" ]
Puede ver que también he incluido el archivo phonegap.d.ts que incluye muchas propiedades / variables que faltan que permiten a TypeScript compilar sin errores.
Espero que esto ayude a alguien que tenga este problema.
Aclamaciones.
Aquí está la solución para Ionic 2:
constructor( public platform: Platform, //Platform controller public app: App, //App controller ) { platform.ready().then(() => { StatusBar.styleDefault(); Splashscreen.hide(); //Registration of push in Android and Windows Phone platform.registerBackButtonAction(() => { let nav = this.app.getActiveNav(); if (nav.canGoBack()){ //Can we go back? nav.pop(); }else{ this.platform.exitApp(); //Exit from app } }); }); }
Cambie la prioridad de 101 a 100 para anular la funcionalidad de hardware predeterminada. Si tuviera una prioridad de 100 ya sobrepasando la funcionalidad, podría anular esa anulación con una prioridad de 101, si eso tiene sentido.
$ionicPlatform.registerBackButtonAction(function(e) { // android hardware back button was hit }, 100);
Aquí está una lista de todas las prioridades para los ganchos de botón de retroceso existentes
- Biblioteca de iconos de diseño estándar de Android estándar
- Xamarin Android, control personalizado y diseñador de Visual Studio