Salve a tutti, ho un problema che non riesco a risolvere:
Ho un LocalBroadcastReceiver in un IntentSerivce che avvio da un'activity.
Il problema si presenta quando provo ad inviare un broadcast dalla stessa activity che avvia il service, mentre dalle altre, la stessa procedura (con la modifica solo dell'activity da cui parte il broadcast), funziona senza problemi.
Allego le due activity (Settings, da cui parte il Service, e Download, dove la procedura funziona correttamente) e il Service (Downloader).
www(dot)pastebin(dot)com/cMSaLDSQ
Ora, l'applicazione si dovrebbe comportare così:
1. Avvia il download da settings, se l'utente (a download iniziato) seleziona un'altra qualità, settings ferma il download (con la funzione cancelDownload di Settings).
2. Il service (precedentemente avviato, sta effettuando il download), riceve il messaggio da settings e ferma il download (con l'evento onReceive del BroadcastReceiver).
Il problema si verifica proprio quì... l'applicazione esegui il codice del settings, ma sembra che l'intent non venga mai inoltrato a downloader.
Mentre il codice (praticamente identico) su download, funziona senza problemi bloccando il download.
Pensavo che fosse perchè l'intent fosse avviato dalla notificationbuilder e quindi funzionasse solo da download, ma copiando il codice su un'altra activity funziona lo stesso... perchè sembra che l'intent non voglia partire solo dall'activity che ha avviato il service?
NOTA:
Non guardate la struttura del codice, che è un test e devo ancora sistemare, il downloader non esegue il download di niente per adesso.
Perdonate le mie mancanze o errori, anzi, se trovate degli strafalcioni nel codice ed avete voglia potete darmi dei suggerimente su come correggerli.
Sono alle prime armi e si può dire che questa sia la mia prima VERA applicazione.
Grazie e cordiali saluti
Genymus