L’app di PhoneGap può funzionare in background?

quello che voglio dire è lavorare in background, ad esempio anche lo schermo è spento, l’app è in esecuzione e può inviare notifiche con un suono.

La mia app è utilizzata per osservare le variazioni di prezzo. Ci sarà un avviso con un suono quando un prezzo cambia.

Quindi, la risposta dovrebbe essere sì o no? Grazie.

Ecco alcuni link che possono aiutarti in questo

link 1: domanda SO simile

collegamento 2: Blog cartella rossa

link 3: Plug-in BackgroundService in GitHub

Aggiornare

link 4: servizio di background di PhoneGap su iOS4

link 5: servizio di background phonegap in iOS5

Poiché è arrivata un’altra ansible soluzione con iOS 7, fornirò una risposta aggiuntiva per gli utenti di iOS 7 e successivi.

La nuova funzione Fetch di background consente di aggiornare regolarmente il contenuto di un’app in background. L’intervallo di tempo del recupero non può essere impostato dall’utente, ma è impostato piuttosto da iOS in base alle statistiche dell’utente (utilizzo dell’app, ecc.).

Questa nuova funzione è accessibile con PhoneGap / Cordova tramite plugin – fortunatamente è già stato sviluppato un plugin che fornisce questo accesso. Puoi installarlo nel tuo progetto Cordova di

cordova plugin add https://github.com/christocracy/cordova-plugin-background-fetch.git 

Insieme a un plug-in che fornisce l’accesso alle notifiche locali di iOS , questo fa miracoli. Anche questo plugin è stato sviluppato, per esempio questo . Installalo nel tuo progetto Cordova di

 cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications.git 

Questi plugin possono ora essere combinati nel tuo codice javascript, per eseguire attività in background:

 function onDeviceReady() { var Fetcher = window.plugins.backgroundFetch; // Your background-fetch handler. var fetchCallback = function() { console.log('BackgroundFetch initiated'); // perform your ajax request to server here $.get({ url: '/heartbeat.json', callback: function(response) { // process your response and whatnot. window.plugin.notification.local.add({ message: 'Just fetched!' }); //local notification Fetcher.finish(); // <-- NB You MUST called #finish so that native-side can signal completion of the background-thread to the os. } }); } Fetcher.configure(fetchCallback); } 

Questo plug-in di recupero utilizza il valore UIApplicationBackgroundFetchIntervalMinimum per l'intervallo di recupero, il che risulta nella periodicità di recupero più veloce ansible.

Se stai costruendo cordova per iOS 7 + e sei pronto per uscire dal tuo codice generico in xcode, puoi aggiungere “modalità di background richieste” al file .plist del tuo build ios e non verrà sovrascritto da una nuova build .

Ad esempio, ho scelto l’opzione “Scarica contenuti app dalla rete”

Tutto quello che devi fare è assicurarti che la tua app colpisca il mondo esterno ogni pochi minuti (sto usando firebase, quindi ottengo il valore di un nodo fittizio).

Non l’ho ancora inviato all’app store, ma non vedo come dovrebbe fallire se la richiesta non è troppo frequente (comprendo che le app hanno circa 10 minuti in background prima di essere sospese) e le risorse di cui l’app ha bisogno in background / a rest non sono onerosi.

Ciò ottiene la risoluzione di questo problema fino a un paio di righe nel codice.