5

La mia domanda è abbastanza semplice. Mi piacerebbe sapere qual è la migliore pratica per la mia app in modo che possa essere "Doze-proof". Questo sta diventando ancora più rilevante in quanto Android N applicherà Doze in più scenario.Modalità Doze Android - Bluetooth

Leggendo Doze Documentation c'è una parte menzionare accesso alla rete:

In modalità Doze, il sistema tenta di risparmiare batteria limitando l'accesso applicazioni ai servizi di rete e di CPU. Impedisce inoltre alle app di accedere alla rete e rinvia i loro lavori, sincronizzazioni e gli allarmi standard .

Credo Buetooth cade sotto Network Access, è corretto?

Poiché non possiedo un dispositivo abilitato Marshmallow (o Android N) e poiché l'emulatore non consente l'interazione Bluetooth, non riesco a testare il comportamento dell'app in modalità Doze.

La modalità Doze interrompe qualsiasi connessione Bluetooth in corso? Lo stesso vale per Bluetooth Classic e LE? Che ne pensi delle cuffie con Bluetooth A2DP?

La mia app deve mantenere questa connessione, altrimenti la funzionalità di base sarà interrotta.

Sicuramente ci sono alcune eccezioni per questo caso in cui il dispositivo deve essere collegato a un dispositivo remoto Bluetooth per tutto il tempo che l'utente desidera.

io ci so esiste un Doze Whitelist ma sembrerebbe che non potrebbe, in alcuni casi, lasciare che l'applicazione si comporta come si farebbe su un dispositivo di sotto API 23.

Grazie per il vostro aiuto!

+0

Non ho provato ma non credo che il bluetooth sia interessato – greywolf82

+0

@ greywolf82 grazie per il vostro contributo, questo sembra promettente! Se hai tempo e mezzi, puoi provare? Lo apprezzerei davvero. Grazie ! – Mackovich

+0

La whitelist consente alla tua app di accedere alla rete e di mantenere wakelock parziali. Restano valide tutte le altre restrizioni Doze –

risposta

0

Sembra che doze non abbia alcuna restrizione sul bluetooth di per sé, ma per fare qualcosa di significativo, è necessario mantenere la CPU e riattivare i blocchi vengono ignorati in doze più profondo.

Se si tratta di una funzionalità principale della tua app, puoi provare a chiedere agli utenti di whitelist la tua app. Questo può garantire partial wake locks e mantenere la CPU su.

Foreground services sono inoltre esentati da eventuali restrizioni doze in modo che sia un altro modo trasparente.

+0

Da quello che ho capito, i servizi in primo piano sono solo esenti dall'uccisione di app in background e non hanno alcuna relazione con la modalità deep doze sleep. – behelit