今天有個項目是要我將音量鍵當一般按鈕用

因此除了攔截音量按鈕事件之外

也得蒙蔽掉系統內建的音量調整

一般而言要攔截按鈕事件就是複寫onKeyDown事件就好

但是如果要蒙蔽系統內建的話就得oKeyDown跟onKeyUp一起呼叫,並隨意在其中一個加入想要的事件

並且在完成事件後return true,就能搞定了

上碼

override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
        return when (keyCode) {
            KeyEvent.KEYCODE_VOLUME_UP, KeyEvent.KEYCODE_VOLUME_DOWN -> {
                true
            }
            else-> false
        }
    }

    override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
        return when (keyCode) {
            KeyEvent.KEYCODE_VOLUME_UP, KeyEvent.KEYCODE_VOLUME_DOWN -> {
                //要做的事
                true
            }
            else-> false
        }
    }

注意這是用kotlin寫的,用Java的朋友記得轉一下嘿

arrow
arrow

    碼農日常 發表在 痞客邦 留言(1) 人氣()