try
{
//Get list
of input methods
List
InputMethods=((InputMethodManager)myActivity.getSystemService(Context.INPUT_METHOD_SERVICE)).getEnabledInputMethodLis t();
String
nameIME = InputMethods.get(0).getServiceName();
Log.i("Demo
Error", "SWITCHING TO: "+nameIME);
String
NewInputMethodName=InputMethods.get(0).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.checkCallingOrSelfPermis sion(
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
EditText
inputText =
(EditText)myActivity.findViewById(R.id.inputText);
((InputMethodManager)myActivity.getSystemService(Context.INPUT_METHOD_SERVICE))
.showSoftInput(inputText, 0);
} catch(Exception e) {
Log.i("Demo
Error", e.getMessage());
}
{
//
} catch(Exception e) {
}