如何将 MediaBrowserService 与小部件一起使用?

How can I use a MediaBrowserService with a widget?(如何将 MediaBrowserService 与小部件一起使用?)
本文介绍了如何将 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 与小部件一起使用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Using Firebase Firestore in offline only mode(在仅脱机模式下使用Firebase FiRestore)
Crash on Google Play Pre-Launch Report: java.lang.NoSuchMethodError(Google Play发布前崩溃报告:java.lang.NoSuchMethodError)