首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >查找播放或使用蓝牙音乐流的应用程序的包名

查找播放或使用蓝牙音乐流的应用程序的包名
EN

Stack Overflow用户
提问于 2017-06-12 15:18:07
回答 1查看 601关注 0票数 2

如何了解哪个应用程序正在播放/使用音乐流。在蓝牙设备上播放或暂停/停止音频时,我可以通过broadcast receiver BluetoothA2dp接收回调,广播名称如下:

代码语言:javascript
运行
复制
android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED

例如。当我通过YouTube或视频播放器在蓝牙设备上播放音乐时,我收到了action - BluetoothA2dp.ACTION_PLAYING_STATE_CHANGED中的回调BluetoothA2dp.STATE_PLAYING,但我无法获得YouTube或视频播放器应用程序包的名称。

当蓝牙设备上有呼入或呼出时,我通过广播接收器BluetoothHeadset收到回调,广播接收器的名称如下:

代码语言:javascript
运行
复制
android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED

有没有办法知道在蓝牙设备上播放音乐的包的名称,或者如何通过接收器的意图或上下文来获取调用了广播接收器的包。

EN

回答 1

Stack Overflow用户

发布于 2018-02-19 15:29:43

现在,每当用户通过任何应用程序在移动设备上播放音乐时,都会在蓝牙设备上流式/播放音乐。现在广播接收器将被调用,这是通过ACTION_PLAYING_STATE_CHANGED中的BluetoothA2dp.ACTION_PLAYING_STATE_CHANGED =“android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED”

  • 注册的

  • 我们通过BluetoothA2dp.EXTRA_STATE

  • From

  • 获得额外的意图状态,我们检查什么音乐正在播放或停止通过BluetoothA2dp.STATE_PLAYING & BluetoothA2dp.STATE_NOT_PLAYING

  • If音乐正在播放,然后我们检查哪个应用程序/包当前正在播放的音乐,例如,如果Saavn,Ganna音乐应用程序正在播放,那么我们将得到“com.saavn.android”,我们需要传递接收器的意图到manager.getActiveSessions方法,我们将获得List of MediaController

  • From MediaSessionManager list of MediaController,我们可以获得正在播放音乐的应用程序的包名称,列表的顶部名称是当前正在播放音乐的包的名称,例如,如果Saavn音乐应用程序在顶部播放,则我们将获得“com.saavn.android”
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44493463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档