问题描述
我的服务扩展了 MediaBrowserService 类,它响应某些 MediaController 操作,例如 getMediaController().getTransportControls().onPlay()
.但是,我没有找到从 Widget 中控制"我的服务的方法,因为 MediaController 类不可用.如何与我的服务通信?
My service extends the MediaBrowserService class and it responds to certain MediaController actions such as getMediaController().getTransportControls().onPlay()
. However, I didn't find a way to "control" my service from a Widget, because the MediaController class isn't available from it. How can I communicate with my service?
推荐答案
推荐的方法是使用 MediaButtonReceiver,它将命令转发到您的 MediaBrowserService
,然后您可以通过添加对 MediaButtonReceiver.handleIntent() 根据文档在您的 onStartCommand
中.
The recommended approach is to use a MediaButtonReceiver, which will forward commands to your MediaBrowserService
, where you can then handle them by adding a call to MediaButtonReceiver.handleIntent() in your onStartCommand
as per the documentation.
您可以使用 buildMediaButtonPendingIntent() 为各种媒体按钮(例如播放、暂停等)构造一个 PendingIntent
,然后可以在小部件的按钮上使用 setOnClickPendingIntent()
You can use the buildMediaButtonPendingIntent() to construct a PendingIntent
for various media buttons (such as play, pause, etc), which can then be set on your widget's buttons with setOnClickPendingIntent()
这篇关于如何将 MediaBrowserService 与小部件一起使用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!