【问题标题】:Can't use MediaBrowserServiceCompat无法使用 MediaBrowserServiceCompat
【发布时间】:2020-06-09 12:32:32
【问题描述】:

我是安卓开发新手。我想创建一个以客户端-服务器方式运行的音乐播放器。我现在正在尝试创建服务器部分。我发现我可以使用MediaBrowserServiceCompat 来实现这一点,正如官方文档here 中所说的那样。但是当我尝试在我的项目中使用它时,它说Unresolved reference: MediaBrowserServiceCompat 尽管我已将 Android Studio 设置为自动导入所需的库,但我尝试显式导入 android.support.v4.*android.support.*androidx.*,希望它可以工作,但事实证明它没有。所以我去了UAMP(Universal Android Music Player)的GitHub repo寻求帮助。我在this file 中找到了声明import androidx.media.MediaBrowserServiceCompat。但是我找不到任何名为so的库

为什么我的清单上写着MediaPlaybackService must extend android.app.service?

我应该如何使用它? 谢谢!

编辑:我做了一些研究和修补。我尝试将 Manifest 中的服务名称和关联的类名称更改为 MyMediaBrowserServiceCompat 并且神奇地起作用(有点)。所以现在,我的问题是,这是正常行为吗?更改服务名称真的会影响这种情况吗?如果是这样,它究竟如何在其他人的机器上使用不同的名称(与类名本身不相似的东西)?其次,现在我的代码显示There's a cycle in the inheritance hierarchy for this type 我在网上搜索并找到this。所以我知道那条消息是什么意思,但我不知道在这种情况下如何解决它。而我的 Manifest 仍然这么说:MyMediaBrowserServiceCompat must extend android.app.service

【问题讨论】:

    标签: android kotlin android-service android-mediasession mediabrowserservicecompat


    【解决方案1】:

    在Android Developer中,他们在Audio app overview文章中没有明确说明如何实现MediaBrowserServiceCompatMediaBrowserCompat(如果您正在关注这篇文章)。但是您可以使用下面的代码来实现或在article 中更新此支持库的最新版本。

    dependencies {
        implementation "androidx.media:media:1.3.1"
    }
    

    【讨论】:

      【解决方案2】:

      我的猜测是,这与 MediaBrowserService 所在的依赖关系有关。如果没有看到 build.gradle 中的依赖项部分,很难知道,但 MediaBrowserService 位于 implementation 'androidx.media:media:1.1.0'。尝试添加它,您应该能够找到它。

      关于There's a cycle in the inheritance hierarchy for this type 的消息的注释:那是因为您本质上指的是与父级和子级相同的类,这是行不通的,因为它会要求父级并自行返回。它“工作”的原因是因为您现在只引用自类 MyMediaBrowserService 存在以来可以找到的实际文件。您需要更新您的服务以实际继承 MediaBrowserServiceCompat 以使其正常工作,并且当您拥有它的依赖项时应该可以工作。

      【讨论】:

      • 就是这样。我在问题中用屏幕快照(第二张照片)提到了它。我在 androidx 中找不到任何名为 media 的内容。
      • 它没有显示为库,但我明确将它添加到 build.gradle 并重新同步它,它现在可以工作了。我不知道为什么以前尝试相同的方法时它不起作用。但无论如何,谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多