迁移到androidx后出现“找不到符号类MediaStyle”的错误

9

android.support.v4.media.app.NotificationCompat.MediaStyle() 在音乐播放器应用程序中运作良好,但在迁移到 android x 后出现了此错误:无法找到符号类 MediaStyle。 谢谢任何帮助。

4个回答

28
在 AndroidX 中,特定的样式位于不同的包中。您需要在媒体样式前添加 'androidx.media.app' 。
换句话说:
builder.setStyle(new androidx.media.app.NotificationCompat.MediaStyle());

奇妙的是,我不需要在我的gradle文件中实现这个包,所以可能与AndroidX内部依赖有关。


2
这需要implementation "androidx.media:media:1.1.0",正如@Angel所写。 - Luis A. Florit

16

对于我的情况,我需要将以下内容添加到我的Gradle文件中,以查找NotificationCompat.MediaStyle()类。

implementation "androidx.media:media:1.1.0"

https://developer.android.com/jetpack/androidx/releases/media

NotificationCompat.Builder(this, CHANNEL_ID)
.setStyle(new androidx.media.app.NotificationCompat.MediaStyle());

请注意notificationCompat.Builder与MediaStyle不在同一个包(androidx.core.app.NotificationCompat)中。


3

android.support.v4.media.app.NotificationCompat迁移到androidx.core.app.NotificationCompat

这似乎与@karan上面给出的答案相同,但类不同。花了我几天时间才弄清楚androidx.media.app.NotificationCompat是我的问题所在。

两者之间的区别在于一个是androidx.core...,另一个是androidx.media...


是的,我遇到了同样的错误,你是对的,卡兰是错的。 - Eyes Blue

2
由于您已经迁移到androidX,所以需要使用相应的导入类来替换旧的支持库类。
因此,请使用以下androidX类androidx.media.app.NotificationCompat来替换android.support.v4.media.app.NotificationCompat。 您可以从这里https://developer.android.com/jetpack/androidx/migrate查看迁移指南。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接