Ho un'activity in cui ho inserito un timer per far "flashare" un btn e con il quale faccio anche fare dei calcoli ricorsivi.
Finchè sto sull'emulatore è tutto ok, ma trasferendo l'app sul device fisico, quando l'activity va in pause il timer si ferma, per riprendersi quando l'activity va in resume.
E questo voi lo sapevate già... )
Quindi ho indagato un po' e ho scoperto l'esistenza dei service che servono appunto per "andare in background" ....e pure questo lo sapete già... )
Ho letto decine di discussioni (in inglese che non è il mio forte) ma ho le idee molto confuse....
Ho bisogno di qualche suggerimento a discussioni o qualche esempio da seguire che mi schiarisca un po la faccenda.
Se ho capito bene è tutto un'altro modo di impostare la cosa, ci sarà solo una mainActivity ed poi una serie di B4XPages che vanno a sostituire le varie activity.
Dico bene?
Se ho capito bene è tutto un'altro modo di impostare la cosa, ci sarà solo una mainActivity ed poi una serie di B4XPages che vanno a sostituire le varie activity.
Dico bene?
Sì, dici bene. Non è obbligatorio avere una sola Activity ma è la cosa migliore.
Le B4XPage non sono altro che classi che di base contengono un Panel di nome Root nel quale caricherai i layout (o anche le View da codice, volendo, ma meglio di no) invece che caricarli nell'Activity.
Ho cantato vittoria troppo presto...
Testando l'app sul telefono, il timer funziona se si passa ad altre app, e lo schermo rimane acceso, non appena si spegne lo schermo per inutilizzo, il timer si ferma.
Mi rendo conto che ci sono cose fondamentali tipo questa che non so, pensavo che le due situazioni facessero parte dello stesso "stato", ma così non è.
Consigli?
Intanto consiglio a me stesso di fare più attenzione, magari dormire anche un po', visto che ti avevo allegato un progetto praticamente vuoto (post #2) ? - Ho "corretto", allegato il progetto giusto.
Testando l'app sul telefono, il timer funziona se si passa ad altre app, e lo schermo rimane acceso, non appena si spegne lo schermo per inutilizzo, il timer si ferma.
Non è esatto. La tua app è stata uccisa dal sistema operativo perché l'hai lasciata troppo tempo in background.
Voglio dire che il timer continuerà a funzionare anche quando lo schermo si spegnerà ma non per sempre, finché il S.O. si sarà stancato e ucciderà l'app.
Quindi, la soluzione B4XPages - Timer funziona. Per evitare che un'app venga uccisa dal S.O., però, a prescindere se l'app sia stata sviluppata con B4XPages o meno, l'unico modo è quello suggerito da Erel in questo esempio: