首页 > 解决方案 > 无法使用 MediaBrowserServiceCompat

问题描述

我是android开发的新手。我想创建一个以客户端-服务器方式运行的音乐播放器。我现在正在尝试创建服务器部分。我发现我可以使用这里MediaBrowserServiceCompat官方文档中的说明来实现这一点。但是当我尝试在我的项目中使用它时,它说 虽然我已将 Android Studio 设置为自动导入所需的库,但我尝试显式地导入, ,希望它可以工作,但事实证明它没有。因此,我前往UAMP(通用 Android 音乐播放器)的 GitHub 存储库寻求帮助。我在这个文件中找到了语句。但我找不到任何这样命名的库Unresolved reference: MediaBrowserServiceCompat 看这里android.support.v4.*android.support.*androidx.*import androidx.media.MediaBrowserServiceCompat看这里

为什么我的清单说MediaPlaybackService must extend android.app.service看这里

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

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

标签: androidkotlinandroid-serviceandroid-mediasessionmediabrowserservicecompat

解决方案


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

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

推荐阅读