6

Sto cercando di creare una notifica di stile multimediale per un'app musicale che sto creando, ma voglio anche tenere a mente gli utenti Android precedenti (ICS up). Mi piacerebbe che contenga i comandi di riproduzione/pausa.Qual è il modo migliore per creare una notifica di stile multimediale per Android Lollipop considerando la compatibilità con le versioni precedenti?

Qual è il modo migliore in cui posso farlo? Devo creare una notifica personalizzata per chiunque si trovi sotto Android Lollipop e utilizzare una notifica di stile media per Android Lollipop? O dovrei semplicemente andare avanti e fare una notifica personalizzata per entrambi? L'uso di NotificationCompat non sembra possibile dopo un po 'di sperimentazione.

Qualsiasi esempio sarebbe molto apprezzato.

risposta

1

Mentre funzionerà, suggerirei di utilizzare il primo approccio. Non sembra che ci sia l'intenzione di aggiungere il supporto per MediaStyle NotificationCompat in qualunque momento presto, in base alla nota di cui here, in cui si afferma:

Nota: Il modello e il metodo addAction() non sono inclusi nel la libreria di supporto, quindi queste funzioni funzionano solo in Android 5.0 e versioni successive.

Nel mio caso, ho un valore booleano che identifica il livello di API:

boolean mIsLollipopOrAbove = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP; 

Quando arriva il momento di effettuare la notifica, ho solo controllare che e utilizzare una notifica personalizzata o costruire la MediaStyle notifica basata sulla versione di Android in esecuzione dell'utente. Per supportare i controlli della schermata di blocco, sto utilizzando l'ultima versione delle librerie di supporto e interagisco con MediaSessionCompat, che continuerà a utilizzare RemoteControlClient sotto il cofano quando richiesto su dispositivi pre-Lollipop. È possibile passare il token per MediaSessionCompat alla notifica MediaStyle, che facilita l'aggiornamento dell'immagine della schermata di blocco in base al contenuto multimediale in riproduzione.