android.support.v4.media.app.NotificationCompat.MediaStyle () fonctionnait bien dans une application de lecteur de musique, mais après la migration vers Android x, j'obtiens cette erreur: impossible de trouver la classe de symboles MediaStyle. Toute aide serait appréciée merci.
4 Réponses :
Dans AndroidX, ce style spécifique se trouve dans un package différent. Vous devez ajouter au début du style multimédia "androidx.media.app".
En d'autres termes:
builder.setStyle(new androidx.media.app.NotificationCompat.MediaStyle());
Curieusement, je n'avais pas besoin d'implémenter ce package dans mon fichier gradle, il pourrait donc s'agir de quelque chose lié aux dépendances internes d'AndroidX.
Comme vous avez migré vers androidX, vous devez utiliser une importation équivalente pour les classes au lieu d'utiliser d'anciennes classes de bibliothèque de support.
Ainsi, remplacez
android.support.v4.media.app.NotificationCompat
avec cette classe androidX androidx.media.app.NotificationCompat
.
Vous pouvez consulter le guide de migration plus loin d'ici https://developer.android.com/jetpack/androidx/ migrer
pour mon cas, je dois ajouter ce qui suit à mon fichier gradle pour trouver la classe NotificationCompat.MediaStyle ().
NotificationCompat.Builder(this, CHANNEL_ID) .setStyle(new androidx.media.app.NotificationCompat.MediaStyle());
https://developer.android.com/ jetpack / androidx / releases / media
implementation "androidx.media:media:1.1.0"
notez que notificationCompat.Builder est dans un package différent (androidx.core.app.NotificationCompat) de MediaStyle. p>
Migrez android.support.v4.media.app.NotificationCompat
vers androidx.core.app.NotificationCompat
Cela ressemble à la même réponse donnée par @karan ci-dessus. Mais les classes sont différentes. Il m'a fallu des jours pour comprendre que androidx.media.app.NotificationCompat
était mon problème.
La différence entre les deux; l'un est androidx.core ...
, l'autre est androidx.media...
Oui, je rencontre l'erreur même, tu as raison, Karan a tort.