耳机挂钩按键侦听器不起作用

时间:2021-07-26 01:09:16

标签: java android kotlin broadcastreceiver listener

我正在制作音乐应用。但是我无法通过耳机键停止或更改音乐。如果我在插入耳机时将 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)
    }

0 个答案:

没有答案