Bonjour à tous

Je suis toujours novice et je termine une application pour Android et IOS, que je développe avec Cordova et jQuery Mobile

Elle fonctionne mais je constate que lorsque le téléphone est en veille et même que l'APP est en backgroud, il n'y as plus d'alarme.

Toutes les 5mn, elle doit faire une requete MySQL avec ajax et mettre ajours les informations (température) des stations qui sont affichés sur un map.

J'ai trouvé un plugin cordova-plugin-background-mode et j'ai commence par faire ceci

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady() {
    document.getElementById('deviceready').classList.add('deviseIsReady');
    cordova.plugins.backgroundMode.enable();
 
    if(Pages.checkConnection() == true)
        {
            Maps.load(); 
            setInterval(Maps.load, 300000);   
        }
}

Pour l'activé quand le devise est prêt. Puis il charge la Map en faisant cette requete MySQL et le répête toutes les 5mn. J'ai remarqué qu'après avoir ajouté la ligne pour activé le module, quand j'ouvre une autre App, puis je clique sur mon App, elle redémarre. Ce qui se passe pas quand j'enlève cette ligne.

Aussi, je ne suis pas certain de comment l'utiliser

Il y a aussi ceci

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
$(window).load(function(){
 
    document.addEventListener("offline", Pages.offLine, false);
    document.getElementById("refresh").addEventListener("click", Maps.refresh);
    document.getElementById("ffield").addEventListener("change", Maps.field);
    document.getElementById("fstations").addEventListener("change", Charts.changeStation);
    document.getElementById("threshold").addEventListener("change", Pref.threshold);
    document.getElementById("ffieldpref").addEventListener("change", Pref.field);
    cordova.plugins.backgroundMode.on('EVENT', backgroundEvent);
 
});
 
 
function backgroundEvent(){
    if(cordova.plugins.backgroundMode.isActive()){
        cordova.plugins.backgroundMode.moveToBackground();
    }
    else
    {
        cordova.plugins.backgroundMode.moveToForeground();
    }
}
Mais je en sais pas a quel moment, il faut activer le module.

J'espère que vous pourrez m'aider.

Merci et bon dimanche