如何重寫Android 功能鍵?

功能鍵是繼承AppCompatActivity()

所以需要在Activity上面重寫,重寫內容如下

override fun onKeyLongPress(
    keyCode: Int, 
    event: KeyEvent?
): Boolean {
    println("onKeyLongPress " +
            "keyCode = $keyCode, " +
            "event = ${event?.action}"
    )
    return super.onKeyLongPress(keyCode, event)
}

override fun onKeyUp(
    keyCode: Int, 
    event: KeyEvent?
): Boolean {
    println("onKeyUp " +
            "keyCode = $keyCode, " +
            "event = ${event?.action}"
    )
    return super.onKeyUp(keyCode, event)
}

override fun onKeyDown(
    keyCode: Int, 
    event: KeyEvent?
): Boolean {
    println("onKeyDown " +
            "keyCode = $keyCode, " +
            "event = ${event?.action}"
    )
    when(keyCode) {
        KeyEvent.KEYCODE_BACK -> {
        }
        else -> {
            //依照super方式處理
            return super.onKeyDown(keyCode, event)
        }
    }
    //true = 攔截事件
    //false = 未處理
    //onKeyDown如果未依照super方式處理
    //將無法監聽到onKeyLongPress
    return true
}

訂閱Codeilin的旅程,若有最新消息會通知。

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

WordPress.com.

向上 ↑

%d 位部落客按了讚: