小编Rat*_*ing的帖子

检测 Samsung Galaxy Watch 4(Android Wear 操作系统)上的长按键

我为运行 Wear OS 的手表编写了一个航海应用程序。航海手表经常被弄湿,因此我禁用了屏幕并使用物理按键(按一次和多次)来导航菜单。到目前为止,一切都很好

我现在正在尝试检测长按物理键(用于紧急人员落水功能),但到目前为止,我无法找到在 Samsung Galaxy Watch 上按住物理键时触发的任何事件4.

谁能建议如何检测 Samsung Galaxy Watch 4 上的长按键操作?

大多数按键检测可以通过重写 onKeyDown() 来完成

    override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
        return if (keyCode == bottomKeyCode) {
            // process bottomKeyPress
            writeToLog("onKeyDown()")
            event.startTracking() // required to enable LongPress (works on TicWatch NOT Samsung)
            true
        } else
            super.onKeyDown(keyCode, event)
    }

Run Code Online (Sandbox Code Playgroud)

在 Samsung Galaxy Watch 4 上,短按将触发 onKeyDown() 事件

问题是按住该键时不会触发任何事件。按住该键不会触发onKeyDownonKeyLongPressonKeyUp当松开按键时它甚至不会触发!

进一步测试

我也看过dispatchKeyEvent()

    override fun dispatchKeyEvent(event: KeyEvent): Boolean …
Run Code Online (Sandbox Code Playgroud)

android keyboard-events wear-os

5
推荐指数
1
解决办法
566
查看次数

标签 统计

android ×1

keyboard-events ×1

wear-os ×1