android-things - 在 Android Things 中使用键盘楔形条码阅读器
问题描述
我正在为 Android Things 编写一个应用程序,它需要支持标准的 USB 键盘楔形手持条形码阅读器,并且应该显示用于任意文本输入的软键盘输入。
作为一个 Android Things 应用程序,我将构建我的映像并通过 Android Things 控制台推出 OTA 更新。
我的理解是,同时拥有键盘楔和允许软键盘输入(无需用户交互)的唯一方法是设置安全设置 SHOW_IME_WITH_HARD_KEYBOARD = 1,这不能以编程方式完成,因为它需要操作系统的 WRITE_SECURE_SETTINGS 权限不会答应。此外,由于默认情况下来自 AT 控制台的生产映像不允许调试,因此我也无法使用 adb 进行设置(无论如何,这也会很痛苦,因为这意味着要刷新映像,设置设置,然后使用设置集等重新创建新图像)。
有什么方法可以实现我想要以编程方式做的事情吗?
解决方案
在您的清单中插入:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"
tools:ignore="ProtectedPermissions" />
然后在代码中:
Settings.Secure.putString(getContentResolver(), "show_ime_with_hard_keyboard", "1");
推荐阅读
- rest - 在 Heroku 上部署带有参数的 jar 文件
- rust - 我们如何在 rust 中使用 glade、gtk-rs 构建 GUI?
- angular - 'fullName' 表单控件在文本输入期间不会更改
- reactjs - glidejs 不是在导航幻灯片后从头开始
- ruby-on-rails - Rails:nil的未定义方法`[] =':NilClass在没有附件时具有活动记录
- javascript - 将两个字段的总和添加到文档中的新字段
- reactjs - React 不会从 firebase 返回一个以上的文档
- api - 我们可以使用 Google Apps 脚本创建 Youtube 视频并上传吗?
- html - 从我的所有网站页面中删除 HTML 部分块会影响 SEO 和我的网站排名吗?
- ruby-on-rails - 将 rails 应用程序部署到 AWS Elastic Beanstalk 时出错