Java Android:检测何时启用软键盘

Java Android:检测何时启用软键盘,java,android,android-softkeyboard,ime,Java,Android,Android Softkeyboard,Ime,我已经启动了ACTION\u INPUT\u METHOD\u设置意图,使用户可以激活软输入(键盘)。当用户激活我所需的软输入/键盘时,我想关闭设置活动(我启动的意图)。没有直接的方法来确定它-请参阅安卓团队的Dianne Hackborn的回复。但是,您可以通过检查窗口大小是否在测量中发生了变化来间接检测它。请参阅Android:。试试这个 InputMethodManager imm = (InputMethodManager)getActivity().getApplication

我已经启动了ACTION\u INPUT\u METHOD\u设置意图,使用户可以激活软输入(键盘)。当用户激活我所需的软输入/键盘时,我想关闭设置活动(我启动的意图)。

没有直接的方法来确定它-请参阅安卓团队的Dianne Hackborn的回复。但是,您可以通过检查窗口大小是否在测量中发生了变化来间接检测它。请参阅Android:。

试试这个

   InputMethodManager imm  = (InputMethodManager)getActivity().getApplicationContext().getSystemService(    Context.INPUT_METHOD_SERVICE);
   Log.e(TAG, "Result :"+imm.isActive());    

我从以下方面找到了答案:

您可以从后台关闭所有活动,当重新打开应用程序时,它将从第一个活动开始

this.finish();
Intent intent = new Intent(getApplicationContext(), CloseApp.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
您可以从后台关闭所有活动,当重新打开应用程序时,它将从暂停的活动[您关闭的地方]活动开始

this.finish();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

谢谢我以前试过isActive()。即使在键盘工作正常的情况下,日志的输出也是“false”,我不理解这一点。通过InputMethodManager,我只能显示InputMethodSelection。我无法启用它。