Sto costruendo un'app di streaming musicale per Android.Funzione "Risparmio batteria" che uccide il mio servizio musicale
In questa applicazione, ho un Service
che è responsabile per la riproduzione audio da un server HTTP. Prima di giocare, mi assicuro di startForeground()
e di acquisire uno WakeLock
parziale, in modo che il mio servizio non venga ucciso. Ho anche un WifiLock
, per ogni evenienza.
Il servizio funziona correttamente ... finché il telefono non è acceso "modalità risparmio batteria". Nel momento in cui accendo il risparmio della batteria e disconnetto il mio telefono dalla fonte di alimentazione, il mio servizio viene ucciso con il fuoco!
Sfortunatamente non sembra nemmeno che si chiami onDestroy()
, quindi la mia notifica da startForeground()
rimane visibile, anche se il servizio è morto.
Il telefono è un Samsung Galaxy S6, con Android 6.0.1 su di esso.
due domande:
- C'è un modo per mantenere il servizio viva nonostante il thingy risparmio batteria?
- In caso contrario, mi piacerebbe sapere almeno quando il mio servizio viene ucciso, in modo da poter fare un po 'di pulizia (rimuovere la notifica & roba interna).
Qualche suggerimento?
Hai trovato una soluzione per questo problema? Ho un caso simile: a seconda del dispositivo e della versione Android esatta, l'app o la connessione wifi vengono interrotte ignorando tutti i wakelocks – mhenryk
Non conosco alcuna soluzione per questo. Non sono sicuro che sia stato corretto in Android 7 in realtà ... La mia app non era l'unica: anche Google Music e Spotify avevano il problema. – aspyct
Android 7 presenta ancora il problema. Grazie per l'informazione. – mhenryk