android如何做到只有自己的APP能接收到Intent.ACTION_MEDIA_BUTTON广播

在AndroidManifest.xml中,注册了android.intent.action.MEDIA_BUTTON的广播后,service中mAudioManager.registerMediaButtonEventReceiver注册广播;此时点击(线控)耳机的按键,能接收到Intent.ACTION_MEDIA_BUTTON广播;此时启动系统Music的APP,再点击(线控)耳机的按键,就不能接收到Intent.ACTION_MEDIA_BUTTON广播,Intent.ACTION_MEDIA_BUTTON广播被Music的APP抢走了,,,再点击就是music的暂停和播放;原因我也大概知道是自己APP在AudioService的ComponentName已经不在栈顶了,那怎么样解决这个问题呢?360智键解决了,我没有思路呀,上来请教一下大牛,哪怕给指点个思路也行。增加广播优先级这个方案就不要提了,我已经试过了,不行。

收到广播以后要abort了。

自己APP的ComponentName已经不在栈顶,根本接不到广播,谈何abort

forlong401说得是对的。
1 把优先级设置最高 priority 实际上可以设到999xxx我记得
我看360安全卫士 反编译后的androidmanifest.xml就这么搞的
2 收到广播后,abort后续接收者
这都是SDK API里写的。自己看看BroadcastReceiver的说明

大神们说的对,其实你的程序可以很简单