Detalles publicacion - CGastrell/phonegap GitHub Wiki
Ademas del incompleto paso de limpieza nos quedan algunos items por ver:
- que pasa cuando la aplicacion va a background
- donde y como ubicamos los iconos para la aplicacion
- como hacemos para que funcionen los splash screen
- donde y como ubicamos los splash screens para la aplicacion
- la verdad de la milanesa del archivo
config.xml
Aplicacion en background
Revisando la documentacion de Cordova podemos ver que dispara muchos eventos, entre los cuales se encuentra pause
.
Este evento se dispara cuando el dispositivo apaga la pantalla o se abre otra aplicacion. El evento se dispara, como se ve en la documentacion, en el document.
Entonces, si queremos evitar que la aplicacion siga grabando/reproduciendo cuando pasa a background podemos agregar un handler para este evento. Donde? Cuando terminamos de inicializar fileApi
. Por que ahi? Porque es el momento en que ya estan todos los componentes inicializados.
En el archivo index.js
inicializamos fileApi
y luego ejecutamos un callback:
fileApi.initialize(function(err, apiRef){
if(err) {
console.log('file api error');
console.log(err);
return;
}
guias.initialize();
entrevistas.initialize();
recordApi.initialize();
// este seria un buen lugar
});
Podemos ubicar nuestro handler justo antes de cerrar el callback:
fileApi.initialize(function(err, apiRef){
if(err) {
console.log('file api error');
console.log(err);
return;
}
guias.initialize();
entrevistas.initialize();
recordApi.initialize();
// este seria un buen lugar
document.addEventListener('pause', function(){
recordApi.stop();
revisionApi.stop();
});
});
Llamamos a recordApi.stop()
y revisionApi.stop()
cuando la aplicacion entre en background. Revisar que las funciones de stop()
en ambos objetos contemplen la variable recordApi.isRecording
y revisionApi.isPlaying
para no hacer una llamada de stop()
cuando nuestro archivo de audio no esta grabando/reproduciendo.