在IME和Android输入法之间进行切换
来源:互联网 发布:windows启动过程图解 编辑:程序博客网 时间:2024/05/19 18:16
public void switchInputMethod(Activity myActivity,EditText inputText){
try
{
//Get list of input methods
List<InputMethodInfo> InputMethods=((InputMethodManager)myActivity.getSystemService(Context.INPUT_METHOD_SERVICE)).getEnabledInputMethodList();
String nameIME = InputMethods.get(3).getServiceName();
Log.i("Demo Error", "SWITCHING TO: "+nameIME);
String NewInputMethodName=InputMethods.get(3).getId(); //Pick the first input method to switch to
Log.i("Demo Error", "SWITCHING TO: "+NewInputMethodName);
String curInputMethodId = Settings.Secure.getString(myActivity
.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
Log.i("Demo Error", "CURRENT IME: "+curInputMethodId);
// Solution 1 (X)
// switchInputMethod is a method of android.inputmethodservice.InputMethodService
// switchInputMethod(NewInputMethodName); //This throws an error
// Solution 2 (OK)
Settings.Secure.putString(myActivity.getContentResolver(),
Settings.Secure.DEFAULT_INPUT_METHOD, NewInputMethodName);
// Solution 3 (OK)
if (myActivity.checkCallingOrSelfPermission(
android.Manifest.permission.WRITE_SECURE_SETTINGS)
!= 0) {
// PERMISSION_GRANTED == 0
Log.i("Demo Error", "myActivity requires permission "
+ android.Manifest.permission.WRITE_SECURE_SETTINGS);
}
((InputMethodManager)myActivity.getSystemService(Context.INPUT_METHOD_SERVICE))
.setInputMethod(null, NewInputMethodName);
// Show SoftInput Keyboard
((InputMethodManager)myActivity.getSystemService(Context.INPUT_METHOD_SERVICE))
.showSoftInput(inputText, 0);
} catch(Exception e) {
Log.i("Demo Error", e.getMessage());
}
}
try
{
//Get list of input methods
List<InputMethodInfo> InputMethods=((InputMethodManager)myActivity.getSystemService(Context.INPUT_METHOD_SERVICE)).getEnabledInputMethodList();
String nameIME = InputMethods.get(3).getServiceName();
Log.i("Demo Error", "SWITCHING TO: "+nameIME);
String NewInputMethodName=InputMethods.get(3).getId(); //Pick the first input method to switch to
Log.i("Demo Error", "SWITCHING TO: "+NewInputMethodName);
String curInputMethodId = Settings.Secure.getString(myActivity
.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
Log.i("Demo Error", "CURRENT IME: "+curInputMethodId);
// Solution 1 (X)
// switchInputMethod is a method of android.inputmethodservice.InputMethodService
// switchInputMethod(NewInputMethodName); //This throws an error
// Solution 2 (OK)
Settings.Secure.putString(myActivity.getContentResolver(),
Settings.Secure.DEFAULT_INPUT_METHOD, NewInputMethodName);
// Solution 3 (OK)
if (myActivity.checkCallingOrSelfPermission(
android.Manifest.permission.WRITE_SECURE_SETTINGS)
!= 0) {
// PERMISSION_GRANTED == 0
Log.i("Demo Error", "myActivity requires permission "
+ android.Manifest.permission.WRITE_SECURE_SETTINGS);
}
((InputMethodManager)myActivity.getSystemService(Context.INPUT_METHOD_SERVICE))
.setInputMethod(null, NewInputMethodName);
// Show SoftInput Keyboard
((InputMethodManager)myActivity.getSystemService(Context.INPUT_METHOD_SERVICE))
.showSoftInput(inputText, 0);
} catch(Exception e) {
Log.i("Demo Error", e.getMessage());
}
}
- 在IME和Android输入法之间进行切换
- IME输入法
- Android输入法之——在代码中强制切换和获得当前输入法
- android隐藏IME(输入法)输入框
- android不同Activity之间进行切换
- <Android> 在Activity之间进行滑动效果的切换Anim动画
- 如何在同一台计算机上的oracle10g和11g之间进行oracle环境切换
- 如何在同一台计算机上的oracle10g和11g之间进行oracle环境切换
- Android 输入法与聊天表情之间切换 edittext悬浮输入法之上
- Android 输入法 (IME Creating an Input Method )最新 翻译
- Android学习之 IME<输入法:Input Method Editor>
- Android 切换输入法
- Android 切换输入法
- Android 输入法 控制 切换
- IME输入法编程
- Windows 输入法编辑器 (IME)
- IME输入法的组成
- IME输入法编程
- Linux服务器设置Apache支持HTTPS
- TaskManager工具
- Android - 使用AIDL设计远程接口
- SHELL环境变量+参数变量
- TaskManager开发中遇到的问题 OLEDB.12.0' provider
- 在IME和Android输入法之间进行切换
- IO中的一种设计模式
- Linux Mysql 常用命令
- Android TextView 显示文字阴影效果
- 最大值
- MySQL注射攻击与防范详解
- ORA-09817小记
- Android中dip、dp、sp、pt和px的区别
- 计算windows一个文件大小