借助键盘快捷键助手,用户可以了解 和打开应用。在键盘快捷键助手中发布应用的快捷键 提高用户的工作效率和易用性。
用户通过按 Meta+/ 打开键盘快捷键屏幕,即 适用于 Android 7.0(API 级别 24)及更高版本。
  为键盘快捷键辅助工具提供快捷键
你可以提供可用的键盘快捷键列表
通过覆盖
onProvideKeyboardShortcuts() 窗口回调。
以下代码段展示了
onProvideKeyboardShortcuts() 添加一组包含四个快捷方式:
class MainActivity : ComponentActivity() {
    // Activity codes such as overridden onStart method.
    override fun onProvideKeyboardShortcuts(
        data: MutableList<KeyboardShortcutGroup>?,
        menu: Menu?,
        deviceId: Int
    ) {
        val shortcutGroup = KeyboardShortcutGroup(
            "Cursor movement",
            listOf(
                KeyboardShortcutInfo("Up", KeyEvent.KEYCODE_P, KeyEvent.META_CTRL_ON),
                KeyboardShortcutInfo("Down", KeyEvent.KEYCODE_N, KeyEvent.META_CTRL_ON),
                KeyboardShortcutInfo("Forward", KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON),
                KeyboardShortcutInfo("Backward", KeyEvent.KEYCODE_B, KeyEvent.META_CTRL_ON),
            )
        )
        data?.add(shortcutGroup)
    }
}
KeyboardShortcutInfo 用于描述键盘快捷键。
键盘快捷键列表封装为
KeyboardShortcutGroup 对象。
应用通过向键盘快捷键助手添加可用的键盘快捷键,
向可变列表传递的 KeyboardShortcutGroup 对象
作为方法的第一个参数。
使用群组整理键盘快捷键
键盘快捷键助手会在单独的组中显示键盘快捷键 这样用户就可以按应用场景查找快捷键 。图 2 显示了键盘快捷键 分为两组:光标移动和消息编辑。
  您的应用通过创建
KeyboardShortcutGroup 对象。
在以下代码段中,系统会将两个 KeyboardShortCutGroup 对象添加到
可变列表传递给 onProvideKeyboardShortcuts() 方法。
对象在键盘快捷键助手中显示为类别为
图 2 所示。
override fun onProvideKeyboardShortcuts(
    data: MutableList<KeyboardShortcutGroup>?,
    menu: Menu?,
    deviceId: Int
) {
    val cursorMovement = KeyboardShortcutGroup(
        "Cursor movement",
        listOf(
            KeyboardShortcutInfo("Up", KeyEvent.KEYCODE_P, KeyEvent.META_CTRL_ON),
            KeyboardShortcutInfo("Down", KeyEvent.KEYCODE_N, KeyEvent.META_CTRL_ON),
            KeyboardShortcutInfo("Forward", KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON),
            KeyboardShortcutInfo("Backward", KeyEvent.KEYCODE_B, KeyEvent.META_CTRL_ON),
        )
    )
    val messageEdit = KeyboardShortcutGroup(
        "Message editing",
        listOf(
            KeyboardShortcutInfo("Select All", KeyEvent.KEYCODE_A, KeyEvent.META_CTRL_ON),
            KeyboardShortcutInfo("Send a message", KeyEvent.KEYCODE_ENTER, KeyEvent.META_SHIFT_ON)
        )
    )
    data?.add(cursorMovement)
    data?.add(messageEdit)
}
从代码打开键盘快捷键助手
应用按照以下方式显示键盘快捷键屏幕:
调用 requestShowKeyboardShortcuts()
方法。在以下代码段中,当用户点按
 或者点击该按钮或按 Enter 键。
val activity = LocalActivity.current
Button(onClick = { activity.requestShowKeyboardShortcuts() }) {
    Text(text = "Show keyboard shortcuts")
}