PhoneGap – navigator.app.exitApp () No funciona
Estoy utilizando Phonegap para hacer una pequeña aplicación, pero el navigator.app.exitApp()?
no funciona en absoluto.
- Esta es mi primera aplicación híbrida.
- Mi plataforma de destino es Android 5
- Estoy desarrollando en Windows con Cordova CLI.
Llamo a una función JavaScript con esto
- Phonegap cordova nativo android menubutton no disparar
- Función de devolución de llamada Javascript a Android
- ¿Existe una alternativa JQuery a JQTouch con mejor soporte para Android?
- El navegador de Android dificulta los eventos para dos taps en rápida sucesión
- Cómo deshabilitar el cambio de paisaje / retrato en una aplicación web para móviles (navegador de Android / iOS Mobile Safari)
<input type='button' onclick='exitApp();'/>
JavaScript:
function exitApp() { navigator.app.exitApp(); }
Ideas?
- Cómo deshabilitar la rotación de la pantalla (reaccionar-nativo)?
- Sqlite sincrónico
- JPlayer jPlayerAndroidFix no funciona?
- React Native en Android no encontró Herramientas de compilación
- Ion-scroll borra mi imagen cuando se amplía en el marco iónico
- ¿Qué emuladores de dispositivos móviles usas para probar el desarrollo móvil?
- La aplicación Cordova no puede cargar ningún archivo en los recursos / www (sólo index.html)
- ¿Cómo puedo desactivar la reproducción de audio en Android Chrome cuando el proceso está en segundo plano?
@Thomas,
solía ser que llamar a navigator.app.exitApp()
tenía sólo unos tropezones, pero ahora Google y Apple han lanzado en grandes obstáculos para los desarrolladores.
- Asegúrese de que espera los eventos
deviceready
antes de realizar la llamada para salir . Usted podría considerar la posibilidad de poner una pantalla de bienvenida, o graying out (deshabilitar) el botón o algo hasta quedeviceready
dispara y la biblioteca de Cordova se carga. - Este es el * impedimento *. Ahora debes agregar un complemento de
whitelist
y para Android agregarCSP
. El complemento es necesario paraCSP
. Puedes evitar esto moviendo todo el Javascript (incluyendo cualquieraon*=
) y<style>
(ystyle=
) en un archivo separado. EXCEPCIÓN paraCSP
– usando cualquier recurso en línea.
En 1,
Añada esto a su javascript:
// Wait for PhoneGap to load document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { // alert("deviceready"); document.getElementById('exitApp').addEventListener('click', function() { navigator.app.exitApp(); }); }
Añadir esto a su index.html:
<button id="exitApp">Exit</button>
En # 2, la respuesta rápida es:
Añadir esto a su config.xml
<plugin name="cordova-plugin-whitelist" source="npm" spec="1.1.0" /> <allow-navigation href="*" /> <allow-intent href="*" /> <access origin="*" /> <!-- Required for iOS9 -->
NOTA SU APP ES AHORA INSECURE. ES DE USTED PARA ASEGURAR SU APP.
Agregue lo siguiente a su index.html
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'self' 'unsafe-inline' 'unsafe-eval'; script-src * 'self' 'unsafe-inline' 'unsafe-eval';">
NOTA SU APP ES AHORA INSECURE. ES DE USTED PARA ASEGURAR SU APP.
Esta hoja de trabajo de lista blanca debe ayudar cuando esté listo para ser más seguro.
CÓMO PARA: aplicar el Cordova / Phonegap el sistema de lista blanca
Utilice lo siguiente:
function backKeyDown() { navigator.notification.confirm("Are you sure you want to exit?", onConfirm, "Please Confirm", "Yes,No"); } function onConfirm(button) { if(button==2){//If User selected No, then we just do nothing return; }else{ navigator.app.exitApp();// Otherwise we quit the app. } }
Tienes que instalar el siguiente complemento:
cordova plugin install org.apache.cordova.dialogs
también puede agregar un oyente en su dispositivo de devolución de llamada listo
onDeviceReady: function () { document.addEventListener('backbutton', function(e){ e.preventDefault(); //TODO: throw up your dialog here! }, true); //other stuff here }
- Prevenir / dificultar el parche de montaje binario
- Cómo transferir valor booleano entre las actividades en android?