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
Mais je en sais pas a quel moment, il faut activer le module.
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(); } }
J'espère que vous pourrez m'aider.
Merci et bon dimanche
Partager