Android 如何在虚拟键盘和默认软键盘之间切换

Android 如何在虚拟键盘和默认软键盘之间切换,android,keyboard,android-input-method,android-virtual-keyboard,Android,Keyboard,Android Input Method,Android Virtual Keyboard,重要的 我正在开发一个应用程序,其中使用InputMethodService集成了emojies虚拟键盘。 现在,我可以从虚拟键盘切换到默认软键盘,如下所示: emojiKeyboard.switchToPreviousInputMethod(); 其中emojiKeyboard是EmojiKeyboardService类的对象,该类扩展了InputMethodService 方法switchToPreviousInputMethod()如下所示: public void switchToPr

重要的

我正在开发一个应用程序,其中使用
InputMethodService
集成了emojies虚拟键盘。 现在,我可以从虚拟键盘切换到默认软键盘,如下所示:

emojiKeyboard.switchToPreviousInputMethod();
其中
emojiKeyboard
EmojiKeyboardService
类的对象,该类
扩展了InputMethodService

方法
switchToPreviousInputMethod()
如下所示:

public void switchToPreviousInputMethod() {
    Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
    vib.vibrate(25);
    try {
        previousInputMethodManager.switchToLastInputMethod(iBinder);
    } catch (Throwable t) { // java.lang.NoSuchMethodError if API_level<11
        Context context = getApplicationContext();
        CharSequence text = "Unfortunately input method switching isn't supported in your version of Android! You will have to do it manually :(";
        int duration = Toast.LENGTH_SHORT;
        Toast toast = Toast.makeText(context, text, duration);
        toast.show();
    }
}
public void开关topreviousInputMethod(){
可控震源vib=(可控震源)getSystemService(Context.可控震源_服务);
振动(25);
试一试{
以前的InputMethodManager.switchToLastInputMethod(iBinder);

}catch(Throwable t){//java.lang.NoSuchMethodError if API_levelI不清楚您想要什么。您想要一种简单的方式从您的表情键盘切换到上一个键盘?(您已经在上面的代码中这样做了…)还是想要一种简单的方式从“其他人的”键盘切换到“您的表情键盘”?我可以很容易地从自定义键盘切换到默认键盘,但是,不能从默认键盘切换到自定义键盘。如果不再次转到“设置”并进行设置,则无法使其他人的键盘按您希望的方式运行。我的表情键盘也遇到了同样的问题,因此我开始询问开源键盘社区要使表情按钮可配置,以便按下它应该让用户选择表情键盘。也许你可以投票表决。我不清楚你想要什么。你想要一个简单的方法从表情键盘切换到上一个键盘吗?(你已经在上面的代码中这样做了…)或者你想要一个简单的方法来访问“其他人的电子键盘”中的“你的表情键盘”"?我可以很容易地从自定义键盘切换到默认键盘,但是,不能从默认键盘切换到自定义键盘。如果不再次转到“设置”并进行设置,则无法使其他人的键盘按您希望的方式运行。我的表情键盘也遇到了同样的问题,因此我开始询问开源键盘社区将表情按钮设置为可配置的,这样按下它就可以让用户选择表情键盘。也许你可以投票支持它