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

图片发到哪些网站 seo网上营销网站

图片发到哪些网站 seo,网上营销网站,深圳网站建设代理,wordpress分类目录绑定二级域名外界实体物理键盘,需要选择键盘布局,不然会对应输入不正确,某些平台是这样的。 实体键盘在插入设备中后会自动设置一个布局,但是可能不是我们想要的。 修改两个功能: 根据系统语言设置默认的键盘。 默认添加两个键盘…

外界实体物理键盘,需要选择键盘布局,不然会对应输入不正确,某些平台是这样的。

实体键盘在插入设备中后会自动设置一个布局,但是可能不是我们想要的。

修改两个功能:
根据系统语言设置默认的键盘。

默认添加两个键盘布局到'选择键盘布局' 的dialog界面

键盘的布局文件apk位置:  

frameworks/base/packages/InputDevices/res/raw/

frameworks/base/packages/InputDevices/res/xml/keyboard_layouts.xml

追查设置中的布局找到这里,选择键盘布局的Dialog,packages/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.java
+++ b/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 doesn't have a language for some reason, then we don't really have a// reasonable default.
+
+        if(DEBUG) Slog.d("testkeyboard", "---getDefaultKeyboardLayout---getLanguage="+systemLocale.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--getLanguage="+systemLocale.getLanguage());break;}}
@@ -1386,10 +1402,12 @@ public class InputManagerService extends IInputManager.Stub@Override // Binder callpublic KeyboardLayout[] getKeyboardLayoutsForInputDevice(final InputDeviceIdentifier identifier) {
+        if(DEBUG) Slog.d("testkeyboard", "---getKeyboardLayoutsForInputDevice---");final String[] enabledLayoutDescriptors =getEnabledKeyboardLayoutsForInputDevice(identifier);final ArrayList<KeyboardLayout> enabledLayouts =new ArrayList<>(enabledLayoutDescriptors.length);
+        if(DEBUG) Slog.d("testkeyboard", "---ArrayList enabledLayouts---");final ArrayList<KeyboardLayout> 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---keyboardLayoutDescriptor="+keyboardLayoutDescriptor);final KeyboardLayout[] result = new KeyboardLayout[1];
+        if(result!=null) Slog.d("testkeyboard", "---getKeyboardLayout---result.length="+result.length);visitKeyboardLayout(keyboardLayoutDescriptor,(resources, keyboardLayoutResId, layout) -> result[0] = layout);if (result[0] == null) {
@@ -1632,12 +1653,15 @@ public class InputManagerService extends IInputManager.Stub@Override // Binder callpublic String[] getEnabledKeyboardLayoutsForInputDevice(InputDeviceIdentifier identifier) {String key = getLayoutDescriptor(identifier);
+        if(DEBUG) Slog.d("testkeyboard", "---getEnabledKeyboardLayoutsForInputDevice---key="+key);synchronized (mDataStore) {String[] layouts = mDataStore.getKeyboardLayouts(key);
+            if(DEBUG) Slog.d("testkeyboard", "---getEnabledKeyboardLayoutsForInputDevice---getDescriptor="+identifier.getDescriptor());if ((layouts == null || layouts.length == 0)&& !key.equals(identifier.getDescriptor())) {layouts = mDataStore.getKeyboardLayouts(identifier.getDescriptor());}
+            if(DEBUG) Slog.d("testkeyboard", "---getEnabledKeyboardLayoutsForInputDevice---length="+layouts.length);return layouts;}}
@@ -1645,6 +1669,7 @@ public class InputManagerService extends IInputManager.Stub@Override // Binder callpublic void addKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier,String keyboardLayoutDescriptor) {
+        if(DEBUG) Slog.d("testkeyboard", "---addKeyboardLayoutForInputDevice---keyboardLayoutDescriptor="+keyboardLayoutDescriptor);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.Stub"keyboardLayoutDescriptor must not be null");String key = getLayoutDescriptor(identifier);
+        if(DEBUG) Slog.d("testkeyboard", "---addKeyboardLayoutForInputDevice---key="+key);synchronized (mDataStore) {try {String oldLayout = mDataStore.getCurrentKeyboardLayout(key);

http://www.dtcms.com/wzjs/76174.html

相关文章:

  • 求网站建设关键词林俊杰无损下载
  • 阿里巴巴网站建设过程人工在线客服系统
  • 期刊网站建设一呼百应推广平台
  • 枣庄住房和城乡建设局网站谷歌google play下载
  • 做网站的网址软文推广案例500字
  • 个人英文网站设计营销型网站特点
  • wordpress get_banner_slide北京谷歌seo
  • 推广公众号的9种方法谷歌seo站内优化
  • 网站建设教案搜易网服务介绍
  • 广州中国建设银行网站首页服装店营销策划方案
  • 手机网站建设网站报价企业如何网络推广
  • it项目外包网标题seo是什么意思
  • b2b外贸网站建设电脑系统优化软件十大排名
  • 做诈骗网站犯什么法搜索引擎营销的基本流程
  • 莱芜网站制作哪家好seo的概念
  • 聚云测网站怎么做的口碑营销的经典案例
  • 男女做a视频网站推广信息发布平台
  • 公司有些网站打不开搜索引擎优化的七个步骤
  • 使用wordpress的企业seo推广排名平台有哪些
  • 建筑模型网站环球网广东疫情最新消息
  • 网站设计开发方案安卓优化大师官网
  • 焦作北京网站建设软文是什么
  • 织梦cms怎么打不开网站免费建站系统
  • 电脑自带的做网站叫什么软件网络推广软件哪个好
  • 国务院建设行政主管部门网站百度app登录
  • 做网站一般多少平台软件定制开发
  • 网站制作教程:初学者肇庆seo
  • 网站建设 搜狐号百度引擎入口官网
  • 群晖ds216j能否做网站百度热榜排行
  • 网站建设可行性搭建网站步骤