android action_media_button,始终接收所有Android媒体按钮事件的回调(即使其他应用正在播放音频)...

Background Info: 我需要检测用户何时按下大多数耳机上的播放/暂停按钮(KEYCODE_MEDIA_PLAY_PAUSE) .

我拥有它主要使用MediaSessions,但当另一个应用程序开始播放音频时,我停止回调 .

这似乎是因为正在播放音频的应用创建了自己的MediaSession,而Android仅将KeyEvents发送到最新的MediaSession . 为了防止这种情况,我创建一个OnActiveSessionsChangedListener并在每次触发时创建一个新的MediaSession .

这确实有效,但每次我创建一个新的MediaSession时,监听器再次触发,所以我发现自己陷入了一个inf循环 .

My Question: 有谁知道我怎么做以下任何一个??:

防止其他应用窃取我的媒体按钮焦点

当我将媒体按钮焦点丢失到另一个应用程序时检测到,所以我只能创建一个新的MediaSession,而不是每当活动会话改变时

检查我当前是否已经有媒体按钮焦点,所以我不必要地创建一个新的MediaSession

What didn't work:

音频效果_ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION上的_119_ BroadcastReceiver无法正常工作,因为应用必须手动触发广播,而许多应用,如NPR One不

AudioManager.OnAudioFocusChangeListener无效,因为它需要我有音频焦点

BroadcastReceiver在android.intent.action.MEDIA_BUTTON上具有最高优先级并调用abortBroadcast(),但当其他应用程序播放音频时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值