首页 > 解决方案 > 在 Android Things 中使用键盘楔形条码阅读器

问题描述

我正在为 Android Things 编写一个应用程序,它需要支持标准的 USB 键盘楔形手持条形码阅读器,并且应该显示用于任意文本输入的软键盘输入。

作为一个 Android Things 应用程序,我将构建我的映像并通过 Android Things 控制台推出 OTA 更新。

我的理解是,同时拥有键盘楔和允许软键盘输入(无需用户交互)的唯一方法是设置安全设置 SHOW_IME_WITH_HARD_KEYBOARD = 1,这不能以编程方式完成,因为它需要操作系统的 WRITE_SECURE_SETTINGS 权限不会答应。此外,由于默认情况下来自 AT 控制台的生产映像不允许调试,因此我也无法使用 adb 进行设置(无论如何,这也会很痛苦,因为这意味着要刷新映像,设置设置,然后使用设置集等重新创建新图像)。

什么方法可以实现我想要以编程方式做的事情吗?

标签: android-thingsandroid-things-console

解决方案


在您的清单中插入:

<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"
    tools:ignore="ProtectedPermissions" />

然后在代码中:

    Settings.Secure.putString(getContentResolver(), "show_ime_with_hard_keyboard", "1");

推荐阅读