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

 <input type='button' onclick='exitApp();'/> 

JavaScript:

 function exitApp() { navigator.app.exitApp(); } 

Ideas?

@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.

  1. 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 que deviceready dispara y la biblioteca de Cordova se carga.
  2. Este es el * impedimento *. Ahora debes agregar un complemento de whitelist y para Android agregar CSP . El complemento es necesario para CSP . Puedes evitar esto moviendo todo el Javascript (incluyendo cualquiera on*= ) y <style> (y style= ) en un archivo separado. EXCEPCIÓN para CSP – 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 } 
  • Javascript geolocation en android no funciona
  • Uso de Canvas Signature pad que he creado en el emulador está funcionando bien, pero en el dispositivo Android dos pad de firma está llegando
  • Cómo crear directorios anidados en Phonegap
  • ¿Es posible, en JavaScript, detectar cuándo se apaga la pantalla en los navegadores de Android y iOS
  • Problema con meta viewport y Android
  • Titanium: cifrado de datos y técnicas de descifrado en dispositivos Android
  • Phonegap-android: location.reload () no se dispara evento deviceready
  • API de notificación en el navegador Chrome de Android
  • La vista web de Android no tratará los eventos correctamente cuando el iframe esté presente
  • Android WebView: sólo carga HTML, no carga JS o CSS (en algunos dispositivos)
  • CSS: ronda /: enfoque vs evento de clic en dispositivos móviles (móviles)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.