本文介绍了如何将 MediaBrowserService 与小部件一起使用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

05-17 07:58