Nella mia app, ho posto il mio servizio in primo piano per evitare che venga ucciso da utilizzare:L'aggiornamento di una notifica rimuove lo stato in primo piano di un servizio?
startForeground(NOTIFY_ID, notification);
Questo visualizza anche la notifica per l'utente (che è grande). Il problema è che più tardi ho bisogno di aggiornare la notifica. Quindi uso il codice:
notification.setLatestEventInfo(getApplicationContext(), someString, someOtherString, contentIntent);
mNotificationManager.notify(NOTIFY_ID, notification);
La domanda è quindi: lo faranno battere il Servizio dal suo stato speciale in primo piano?
In this answer, CommonsWare indica che questo comportamento è possibile, ma non è sicuro. Quindi qualcuno conosce la risposta vera?
Nota: Sono consapevole che un modo semplice per uscire da questo problema è chiamare ripetutamente startForeground()
ogni volta che voglio aggiornare la notifica. Sto cercando di sapere se questa alternativa funzionerà anche.
BTW, anche se è possibile aggiornare il testo di una notifica attuale, non è possibile rendere il testo ticker appare nella barra di stato più di una volta per un dato di notifica, anche se si cambia questo - almeno non usando Notification.FLAG_ONGOING_EVENT. Per mostrare un nuovo testo ticker per una notifica esistente, è necessario annullare la notifica e quindi riavviarla. –