当前位置: 首页 > news >正文

Android 13 默认打开 使用屏幕键盘

原生设置里,系统-语言和输入法-实体键盘-使用屏幕键盘 选项,

关闭时,外接物理键盘,如USB键盘,输入时不会弹出软键盘。
打开时,外接物理键盘,如USB键盘,输入时弹出软键盘。
在这里插入图片描述
这个选项默认是关闭的。

改为打开,如有需要,可通过 overlay 的方法修改。

--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -38,4 +38,7 @@<!-- Decrease animation duration. --><fraction name="def_window_animation_scale">50%</fraction><fraction name="def_window_transition_scale">50%</fraction>
+
+    <!-- Default for Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD -->
+    <bool name="def_show_ime_with_hard_keyboard">true</bool></resources>

Settings 源码在 ./packages/apps/Settings/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java

    @Overridepublic void onResume() {super.onResume();mLastHardKeyboards.clear();scheduleUpdateHardKeyboards();mIm.registerInputDeviceListener(this, null);mShowVirtualKeyboardSwitch.setOnPreferenceChangeListener(mShowVirtualKeyboardSwitchPreferenceChangeListener);registerShowVirtualKeyboardSettingsObserver();}private void registerShowVirtualKeyboardSettingsObserver() {unregisterShowVirtualKeyboardSettingsObserver();getActivity().getContentResolver().registerContentObserver(Secure.getUriFor(Secure.SHOW_IME_WITH_HARD_KEYBOARD),false,mContentObserver,UserHandle.myUserId());updateShowVirtualKeyboardSwitch();}private void updateShowVirtualKeyboardSwitch() {mShowVirtualKeyboardSwitch.setChecked(Secure.getInt(getContentResolver(), Secure.SHOW_IME_WITH_HARD_KEYBOARD, 0) != 0);}private final OnPreferenceChangeListener mShowVirtualKeyboardSwitchPreferenceChangeListener =(preference, newValue) -> {Secure.putInt(getContentResolver(), Secure.SHOW_IME_WITH_HARD_KEYBOARD,((Boolean) newValue) ? 1 : 0);return true;};
http://www.xdnf.cn/news/369883.html

相关文章:

  • macOS 15.4.1 Chrome不能访问本地网络
  • 深入解析C++11 auto 关键字:类型推导的现代实践
  • 青藏高原七大河流源区径流深、蒸散发数据集(TPRED)
  • PCB设计实践(十二)PCB设计电容选型:功能、材质、规则
  • C++发起Https连接请求
  • 两个数组的交集(暴力、set、哈希)
  • 【小沐学GIS】基于C++绘制二维瓦片地图2D Map(QT、OpenGL、GIS)
  • 二、Hive安装部署详细过程
  • USR-M100采集数据并提交MQTT服务器
  • 为什么tcp不能两次握手
  • 基于C语言的TCP通信测试程序开发指南
  • openstack的网络和vpc网络底层原理有什么区别与联系
  • 人工智能行为分析驱动的反爬虫技术:给用户行为 “画像”
  • VBA将PDF文档内容逐行写入Excel
  • SpringBoot框架名字的由来
  • CentOS 7 修改锁屏时间为永不
  • arXiv2025 | TTRL: Test-Time Reinforcement Learning
  • 数据库中的 Segment、Extent、Page、Row 详解
  • Java 开发者 Linux 学习指南
  • Lingma:云效 MCP 使用
  • Java【网络原理】(5)深入浅出HTTPS:状态码与SSL/TLS加密全解析
  • 【前端】每日一道面试题3:如何实现一个基于CSS Grid的12列自适应布局?
  • 《算法导论(第4版)》阅读笔记:p17-p27
  • 8.2.CICD自动化
  • 一种运动平台扫描雷达超分辨成像视场选择方法——论文阅读
  • 金融学知识笔记
  • MindSpore框架学习项目-ResNet药物分类-模型训练
  • 【RAG-十 一-检索增强技术之迭代增强】
  • 【Linux系统】从零开始构建简易 Shell:从输入处理到命令执行的深度剖析
  • 【金仓数据库征文】金仓数据库KingbaseES: 技术优势与实践指南(包含安装)