我是android开发的新手。我想要创建一个以客户端服务器方式工作的音乐播放器。我现在正在尝试创建服务器部分。我发现我可以使用MediaBrowserServiceCompat实现这一点,正如它在正式文档这里中所说的那样。但是当我尝试在我的项目中使用它时,它说Unresolved reference: MediaBrowserServiceCompat

虽然我已经将Android设置为自动导入所需的库,但我还是尝试了显式导入android.support.v4.*、android.support.*、androidx.*,希望它能够工作,但结果并非如此。因此,我去了GitHub回购的通用Android音乐播放器寻求帮助。我在import androidx.media.MediaBrowserServiceCompat中找到了这个文件语句。但我找不到任何一个名叫

以及为什么我的宣言说MediaPlaybackService must extend android.app.service

我该怎么用呢?谢谢!
编辑:我做了一些研究和修补。我尝试将我的报表中的服务名称以及相关的类名更改为MyMediaBrowserServiceCompat,并且神奇地起了作用(某种程度上)。所以现在,我的问题是,这是正常的行为吗?更改服务名称是否真的会影响这种情况?如果是这样的话,它究竟是如何在其他人的机器上使用不同的名称(类似于类名本身的名称)的呢?第二,现在我的代码是There's a cycle in the inheritance hierarchy for this type

我在网上搜索并找到了这。所以我知道这条信息意味着什么,但我不知道如何在这种情况下解决它。我的宣言仍然是一样的:MyMediaBrowserServiceCompat must extend android.app.service

发布于 2020-06-10 08:27:04
我的猜测是,这与MediaBrowserService所在的依赖项有关。如果看不到build.gradle中的依赖项部分,就很难知道,但是MediaBrowserService位于implementation 'androidx.media:media:1.1.0'中。试着加上这个,你就能找到它了。
关于There's a cycle in the inheritance hierarchy for this type消息的一个注意事项:这是因为您实际上指的是作为父类和子类的同一个类,这将无法工作,因为它将要求父类返回。之所以“工作”,是因为您现在只引用自类MyMediaBrowserService存在以来可以找到的实际文件。您将需要更新您的服务,以实际继承MediaBrowserServiceCompat以使其正常工作,并且当您有它的依赖项时,它应该可以工作。
https://stackoverflow.com/questions/62282686
复制相似问题