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

企业网站优化兴田德润优惠成都专业网站推广公司

企业网站优化兴田德润优惠,成都专业网站推广公司,乐陵网站建设,wordpress文章 代码块外界实体物理键盘#xff0c;需要选择键盘布局#xff0c;不然会对应输入不正确#xff0c;某些平台是这样的。 实体键盘在插入设备中后会自动设置一个布局#xff0c;但是可能不是我们想要的。 修改两个功能#xff1a; 根据系统语言设置默认的键盘。 默认添加两个键盘…外界实体物理键盘需要选择键盘布局不然会对应输入不正确某些平台是这样的。 实体键盘在插入设备中后会自动设置一个布局但是可能不是我们想要的。 修改两个功能 根据系统语言设置默认的键盘。 默认添加两个键盘布局到选择键盘布局 的dialog界面 键盘的布局文件apk位置:   frameworks/base/packages/InputDevices/res/raw/ frameworks/base/packages/InputDevices/res/xml/keyboard_layouts.xml 追查设置中的布局找到这里选择键盘布局的Dialogpackages/apps/Settings/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java 点击设置键盘布局会走到  packages/apps/Settings/src/com/android/settings/inputmethod/KeyboardLayoutPickerController.java 查看到 addKeyboardLayoutForInputDevice 设置键盘布局所以利用这里我们添加。 Overridepublic boolean handlePreferenceTreeClick(Preference preference) {if(DEBUG)Log.d(testkeyboard,----handlePreferenceTreeClick---);if (!(preference instanceof SwitchPreference)) {return false;}final SwitchPreference switchPref (SwitchPreference) preference;final KeyboardLayout layout mPreferenceMap.get(switchPref);if (layout ! null) {final boolean checked switchPref.isChecked();if (checked) {mIm.addKeyboardLayoutForInputDevice(mInputDeviceIdentifier,layout.getDescriptor());if(DEBUG)Log.d(testkeyboard,layout.getDescriptor() layout.getDescriptor());} else {mIm.removeKeyboardLayoutForInputDevice(mInputDeviceIdentifier,layout.getDescriptor());}}return true;} 主要修改 frameworks/base/services/core/java/com/android/server/input/InputManagerService.java  addKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier,String keyboardLayoutDescriptor) 如下修改 diff --git a/frameworks/base/services/core/java/com/android/server/input/InputManagerService.java b/frameworks/base/services/core/java/com/android/server/input/InputManagerService.java index 5fc3712d221..1bc1ee6cef7 100755 --- a/frameworks/base/services/core/java/com/android/server/input/InputManagerService.javab/frameworks/base/services/core/java/com/android/server/input/InputManagerService.java-1101,6 1101,7 public class InputManagerService extends IInputManager.StubString layout getCurrentKeyboardLayoutForInputDevice(inputDevice.getIdentifier());if (layout null) {if(DEBUG) Slog.d(testkeyboard, ---goto--getDefaultKeyboardLayout);layout getDefaultKeyboardLayout(inputDevice);if (layout ! null) {setCurrentKeyboardLayoutForInputDevice(-1134,6 1135,20 public class InputManagerService extends IInputManager.Stubfinal Locale systemLocale mContext.getResources().getConfiguration().locale;// If our locale doesnt have a language for some reason, then we dont really have a// reasonable default.if(DEBUG) Slog.d(testkeyboard, ---getDefaultKeyboardLayout---getLanguagesystemLocale.getLanguage());String russuan com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_russian;String english_us com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us;//根据语言设置当前键盘if(systemLocale.getLanguage().equals(en)){return english_us;}if(systemLocale.getLanguage().equals(ru)){return russuan;}//这里就是添加的两个键盘addKeyboardLayoutForInputDevice(d.getIdentifier(),russuan);addKeyboardLayoutForInputDevice(d.getIdentifier(),english_us); if (TextUtils.isEmpty(systemLocale.getLanguage())) {return null;}-1150,6 1165,7 public class InputManagerService extends IInputManager.Stubfor (int localeIndex 0; localeIndex numLocales; localeIndex) {if (isCompatibleLocale(systemLocale, locales.get(localeIndex))) {layouts.add(layout);if(DEBUG) Slog.d(testkeyboard, ---getDefaultKeyboardLayout---for--getLanguagesystemLocale.getLanguage());break;}}-1386,10 1402,12 public class InputManagerService extends IInputManager.StubOverride // Binder callpublic KeyboardLayout[] getKeyboardLayoutsForInputDevice(final InputDeviceIdentifier identifier) {if(DEBUG) Slog.d(testkeyboard, ---getKeyboardLayoutsForInputDevice---);final String[] enabledLayoutDescriptors getEnabledKeyboardLayoutsForInputDevice(identifier);final ArrayListKeyboardLayout enabledLayouts new ArrayList(enabledLayoutDescriptors.length);if(DEBUG) Slog.d(testkeyboard, ---ArrayList enabledLayouts---);final ArrayListKeyboardLayout potentialLayouts new ArrayList();visitAllKeyboardLayouts(new KeyboardLayoutVisitor() {boolean mHasSeenDeviceSpecificLayout;-1402,6 1420,7 public class InputManagerService extends IInputManager.Stubfor (String s : enabledLayoutDescriptors) {if (s ! null s.equals(layout.getDescriptor())) {enabledLayouts.add(layout);if(DEBUG) Slog.d(testkeyboard, ---ArrayList enabledLayouts.add---);return;}}-1436,8 1455,10 public class InputManagerService extends IInputManager.Stubpublic KeyboardLayout getKeyboardLayout(String keyboardLayoutDescriptor) {Objects.requireNonNull(keyboardLayoutDescriptor,keyboardLayoutDescriptor must not be null);if(DEBUG) Slog.d(testkeyboard, ---getKeyboardLayout---keyboardLayoutDescriptorkeyboardLayoutDescriptor);final KeyboardLayout[] result new KeyboardLayout[1];if(result!null) Slog.d(testkeyboard, ---getKeyboardLayout---result.lengthresult.length);visitKeyboardLayout(keyboardLayoutDescriptor,(resources, keyboardLayoutResId, layout) - result[0] layout);if (result[0] null) {-1632,12 1653,15 public class InputManagerService extends IInputManager.StubOverride // Binder callpublic String[] getEnabledKeyboardLayoutsForInputDevice(InputDeviceIdentifier identifier) {String key getLayoutDescriptor(identifier);if(DEBUG) Slog.d(testkeyboard, ---getEnabledKeyboardLayoutsForInputDevice---keykey);synchronized (mDataStore) {String[] layouts mDataStore.getKeyboardLayouts(key);if(DEBUG) Slog.d(testkeyboard, ---getEnabledKeyboardLayoutsForInputDevice---getDescriptoridentifier.getDescriptor());if ((layouts null || layouts.length 0) !key.equals(identifier.getDescriptor())) {layouts mDataStore.getKeyboardLayouts(identifier.getDescriptor());}if(DEBUG) Slog.d(testkeyboard, ---getEnabledKeyboardLayoutsForInputDevice---lengthlayouts.length);return layouts;}}-1645,6 1669,7 public class InputManagerService extends IInputManager.StubOverride // Binder callpublic void addKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier,String keyboardLayoutDescriptor) {if(DEBUG) Slog.d(testkeyboard, ---addKeyboardLayoutForInputDevice---keyboardLayoutDescriptorkeyboardLayoutDescriptor);if (!checkCallingPermission(android.Manifest.permission.SET_KEYBOARD_LAYOUT,addKeyboardLayoutForInputDevice())) {throw new SecurityException(Requires SET_KEYBOARD_LAYOUT permission);-1653,6 1678,7 public class InputManagerService extends IInputManager.StubkeyboardLayoutDescriptor must not be null);String key getLayoutDescriptor(identifier);if(DEBUG) Slog.d(testkeyboard, ---addKeyboardLayoutForInputDevice---keykey);synchronized (mDataStore) {try {String oldLayout mDataStore.getCurrentKeyboardLayout(key);
http://www.dnsts.com.cn/news/243984.html

相关文章:

  • 网站建设工作的作用句容工程建设招标网站
  • 网站如何做生僻词引流网站建设属于IT
  • seo搜索引擎优化什么意思医院网站怎么做优化排名
  • 建设银行官方招聘网站网站栏目策划方案
  • 网站建设方案书的内容二手交易网网站建设目标
  • 提供服务好的网站归档系统wordpress计费查询
  • 网站建设规划书300字网站全部用根目录
  • 常用的网站建设技术有什么东莞做网站推广的公司
  • 网站后台发布图片upload failed网站建设制作周期
  • 工装效果图网站无锡锡牛网站建设
  • 源码网站怎么搭建框架网页怎么制作
  • 做网站需要学哪些语言asp网上书店网站开发
  • 杭州最好的网站设计公司wordpress 评论回复插件
  • 门户资源分享网站模板o2o是什么商业模式
  • 在线建站平台wordpress还能打开吗
  • 网站建设制作设计seo优化湖北wordpress小工具支持
  • 有关网站设计的书wordpress改成自己网站
  • 上海网络建站模板网站备案域名所有人
  • 门户型网站模板华为手机开发者选项在哪里
  • 介绍一个电影的网站模板下载网站开发制作培训学校
  • 网站开发设计师培训架设网站 软件
  • 体育门户网站源码网页站点不安全
  • 优秀网站设计作品让Wordpress拒绝pc访问
  • logo设计网站官网人网站建站
  • 免费注册网站域名海南网站建设粤icp备
  • 化妆品企业网站建设的策划方案wordpress 3.6中文版
  • 建立自己的公司网站网页版qq在线登录界面
  • 业务型网站首页俄文网站
  • 宁阳网站开发wordpress去除购物车图标
  • 做网站商城开发什么语言最快多元网站