showSoftInputFromInputMethod 已弃用 Android P API 28

Amr*_*rut 3 android android-keypad android-input-method inputmethodmanager android-9.0-pie

showSoftInputFromInputMethod该类中的方法在InputMethodManagerAndroid P 中已弃用。根据文档,我们应该InputMethodService.requestShowSelf(int)在 Android P 及更高版本中使用该方法。

现在的问题是我们如何获得该类的参考InputMethodService。我尝试创建一个新对象并调用requestShowself()它,但它不起作用。

InputMethodService inputMethodService = new InputMethodService();
inputMethodService.requestShowSelf(0);
Run Code Online (Sandbox Code Playgroud)

我们如何使用建议的替代方案来替代 API 28 及更高版本的弃用?

小智 5

科特林版本:

    fun showKeyboard(mEtSearch: EditText, context: Context) {
            mEtSearch.requestFocus()
            val imm: InputMethodManager =
                context.getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
            imm.showSoftInput(mEtSearch, 0)
    }
Run Code Online (Sandbox Code Playgroud)