Java 如何通过点击按钮在两个键盘(谷歌键盘和自定义输入法软键盘)之间切换?

Java 如何通过点击按钮在两个键盘(谷歌键盘和自定义输入法软键盘)之间切换?,java,android,android-softkeyboard,android-input-method,inputmethodmanager,Java,Android,Android Softkeyboard,Android Input Method,Inputmethodmanager,我创建了一个编辑文本、自定义输入法软键盘和一个按钮。我希望当我的应用程序打开并单击EditText时,它会用我的自定义IME软键盘打开,当我单击按钮时,它会切换到默认键盘。当我再次单击按钮时,它会再次切换回IME软键盘。所以,基本上,我在寻找一个在默认键盘和自定义IME软键盘之间切换的按钮上的OnClick功能 mKeyboardSwitcher.setOnClickListener(new View.OnClickListener() { @Override

我创建了一个编辑文本、自定义输入法软键盘和一个按钮。我希望当我的应用程序打开并单击EditText时,它会用我的自定义IME软键盘打开,当我单击按钮时,它会切换到默认键盘。当我再次单击按钮时,它会再次切换回IME软键盘。所以,基本上,我在寻找一个在默认键盘和自定义IME软键盘之间切换的按钮上的OnClick功能

mKeyboardSwitcher.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                InputMethodManager imm= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
            }
        });
我探索了InputMethodManager,但我只找到了显示默认键盘的方法

mKeyboardSwitcher.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                InputMethodManager imm= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
            }
        });
这是我的密码。它只是显示默认键盘

mKeyboardSwitcher.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                InputMethodManager imm= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
            }
        });

我想让按钮在默认键盘和自定义键盘之间切换。

通过
自定义软键盘
您的意思是您创建了一个带有按钮的视图?要在system one和自定义之间切换,您需要隐藏system one并显示您的。然后-为了隐藏yourth并显示system oneNo,我使用InputMethodService类创建了一个system IME软键盘。因此,它不是一个带有按钮的视图。它是一种IME软键盘,可以被任何应用程序使用,因为它是一种系统键盘。我试过了,但它只适用于具有系统权限的应用程序。我的应用程序没有系统权限,因此显示我的应用程序没有写入\u安全\u设置权限。