InputMethodManager
类中的showSoftInputFromInputMethod
方法在Android P中弃用。根据文档,我们应该为Android P及以上使用InputMethodService.requestShowSelf(int)
方法。
现在的问题是我们如何获得InputMethodService
类的参考。我尝试创建一个新对象并在其上调用requestShowself()
,但它不起作用。
InputMethodService inputMethodService = new InputMethodService();
inputMethodService.requestShowSelf(0);
我们如何使用API 28及以上的建议替代方案?
InputMethodService
由IME应用程序实现。(例如Gboard)。如果您是应用开发人员并尝试显示IME,请使用InputMethodManager.showSoftInput(TextView, 0);
kotlin版本:
fun showKeyboard(mEtSearch: EditText, context: Context) {
mEtSearch.requestFocus()
val imm: InputMethodManager =
context.getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
imm.showSoftInput(mEtSearch, 0)
}