android - 无法使用 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
解决方案
在 Android Developer 中,他们没有在音频应用概述文章中明确说明如何实现MediaBrowserServiceCompat和MediaBrowserCompat(如果您正在关注本文)。但是您可以使用下面的代码实现或在本文中更新此支持库的最新版本。
dependencies {
implementation "androidx.media:media:1.3.1"
}
推荐阅读
- reactjs - Redux-Form 未正确连接到路由器
- javascript - 为什么在我单击按钮时在获取 prmise 和 this.setState 后打印控制台日志
- python - 将订阅中返回的 Stripe“created”字段转换为可在元数据中使用的日期
- node.js - 如何获取自动生成的 FeathersJS 服务来存储和检索 JSON 数据?
- angular - Angular CLI 的 Proxy.conf.json 无法按预期工作
- c# - 如何从 lambda 访问属性
- c++ - 找出迷宫求解器的最佳解决方案,并带有动画输出
- python - 无法使用自定义约束加载 keras 模型
- c# - c#在api控制器中修改路由
- java - java.lang.NoClassDefFoundError: org/apache/qpid/proton/engine/Collector in AmqpProviderFactory.createProvider