通过media3解析SessionToken失败



我正在尝试使用media3,为此我遵循这里的教程:https://developer.android.com/guide/topics/media/media3/getting-started/playing-in-background

然而,当我运行我的代码,我有以下错误在这一行:

val sessionToken = SessionToken(this, ComponentName(this, PlaybackService::class.java))
java.lang.IllegalArgumentException: Failed to resolve SessionToken for ComponentInfo{com.example.euphonia/PlaybackService}. Manifest doesn't declare one of either MediaSessionService, MediaLibraryService, MediaBrowserService or MediaBrowserServiceCompat. Use service's full name.

事情已经在我的清单中正确声明了,如我的教程

所示
<service
android:name="PlaybackService"
android:foregroundServiceType="mediaPlayback"
android:exported="true">
<intent-filter>
<action android:name="androidx.media3.session.MediaSessionService"/>
</intent-filter>
</service>

如何解决这个问题?

我已经复制了这个运行时错误,似乎你的服务声明是罪魁祸首:如果你的PlaybackService类在一个包中(从错误看来是这样),你的服务声明应该考虑到这一点:

<service
android:name=".PlaybackService"
...

或使用其完全限定名

<service
android:name="com.example.euphonia.PlaybackService"
...

相关内容

  • 没有找到相关文章

最新更新