问题描述
我的服务扩展了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与窗口小部件一起使用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!