我正在制作音乐应用。但是我无法通过耳机键停止或更改音乐。如果我在插入耳机时将 ACTION_MEDIA_BUTTON 更改为 ACTION_HEADSET_PLUG,则按下耳机挂钩键广播不起作用。我做了一些研究并找到了一些关于 mediaSession 的东西,但我没有在我的应用程序中使用它。如何在应用程序的后台工作时收听挂钩键。我是 android 开发的新手。谢谢
fun broadcast(){
val intentFilter = IntentFilter()
intentFilter.addAction(Intent.ACTION_MEDIA_BUTTON)
registerReceiver(MediaReceiver(),intentFilter)
}
class MediaReceiver:BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
Toast.makeText(context,"BROADCAST",Toast.LENGTH_LONG).show()
}
}
当应用在前台工作时,这些代码对我有用
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
when(keyCode){
KeyEvent.KEYCODE_HEADSETHOOK-> {
playButton()
return true
}
}
return super.onKeyDown(keyCode, event)
}