Saltar al contenido

cómo verificar la aplicación que se ejecuta en primer plano o en segundo plano en ionic / cordova / phonegap

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *