Solución:
Utilice los dos eventos “Pause
” y “Resume
“. Encontrará todos los eventos aquí en la documentación de eventos de Apache Cordova.
Evento – Pausa:
- El evento de pausa se activa cuando la plataforma nativa coloca la aplicación en segundo plano, normalmente cuando el usuario cambia a una aplicación diferente.
Evento – Reanudar
- El evento de reanudación se activa cuando la plataforma nativa extrae la aplicación del fondo.
Puede agregar un Eventlistener para eso en su código. Para esos dos Eventos que serían:
Pausa – Ejemplo rápido
document.addEventListener("pause", onPause, false);
function onPause() {
// Handle the pause event
}
O Ejemplo completo como esto:
<!DOCTYPE html>
<html>
<head>
<title>Pause Example</title>
<script type="text/javascript" charset="utf-8" src="https://foroayuda.es/cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// device APIs are available
//
function onDeviceReady() {
document.addEventListener("pause", onPause, false);
}
// Handle the pause event
//
function onPause() {
}
</script>
</head>
<body onload="onLoad()">
</body>
</html>
Currículum – Ejemplo rápido
document.addEventListener("resume", onResume, false);
function onResume() {
// Handle the resume event
}
O Ejemplo completo como esto
<!DOCTYPE html>
<html>
<head>
<title>Resume Example</title>
<script type="text/javascript" charset="utf-8" src="https://foroayuda.es/cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// device APIs are available
//
function onDeviceReady() {
document.addEventListener("resume", onResume, false);
}
// Handle the resume event
//
function onResume() {
}
</script>
</head>
<body onload="onLoad()">
</body>
</html>
Pruébelo y avíseme si necesita más ayuda.
Para Ionic 2 e Ionic 3, la solución es:
import { Platform } from 'ionic-angular';
@Component({
template: `OK`
})
constructor(public platform: Platform) {
platform.ready().then(() => {
if (platform.is('cordova')){
//Subscribe on pause i.e. background
this.platform.pause.subscribe(() => {
//Hello pause
});
//Subscribe on resume i.e. foreground
this.platform.resume.subscribe(() => {
window['paused'] = 0;
});
}
});
}
Un pequeño servicio para Ionic basado en la respuesta de Sithys:
factory('BackgroundCheck', function($ionicPlatform){
var service = {};
var inBackground = false;
$ionicPlatform.ready(function() {
document.addEventListener("resume", function(){inBackground = false;}, false);
document.addEventListener("pause", function(){inBackground = true;}, false);
});
service.isActive = function(){
return inBackground == false;
}
return service;
})
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)