【问题标题】:error: cannot find symbol class MediaStyle after migrating to androidx错误:迁移到 androidx 后找不到符号类 MediaStyle
【发布时间】:2019-06-05 09:06:47
【问题描述】:

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

【问题讨论】:

    标签: android androidx


    【解决方案1】:

    在 AndroidX 中,该特定样式位于不同的包中。您需要在媒体样式前面加上“androidx.media.app”。

    换句话说:

    builder.setStyle(new androidx.media.app.NotificationCompat.MediaStyle());
    

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

    【讨论】:

    • 这需要implementation "androidx.media:media:1.1.0",正如@Angel 所写。
    【解决方案2】:

    对于我的情况,我需要将以下内容添加到我的 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...

      【讨论】:

      • 是的,我也遇到同样的错误,你是对的,karan 是错的。
      【解决方案4】:

      当您迁移到 androidX 后,您需要对类使用等效导入,而不是使用较旧的支持库类。

      因此,替换 android.support.v4.media.app.NotificationCompat 带有这个 androidX 类 androidx.media.app.NotificationCompat。 您可以从这里进一步查看迁移指南https://developer.android.com/jetpack/androidx/migrate

      【讨论】:

        猜你喜欢
        • 2019-09-24
        • 1970-01-01
        • 2020-07-12
        • 1970-01-01
        • 1970-01-01
        • 2018-11-10
        • 2019-04-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多