设备锁定时为什么调用onStartInputView()?

时间:2019-02-14 17:19:05

标签: android android-softkeyboard ime android-input-method

我正在编写自定义IME,在其lifecycle中我不了解。

应该分别在显示和销毁键盘视图时调用

onStartInputView()onFinishInputView()。如果用户在软键盘启动时更改了应用程序或文本字段,也将调用它们。很好。

他们奇怪的情况是:

  1. 鉴于当前显示的是软键盘,并且我正在输入文字(例如,在我的SMS应用中)
  2. 当我锁定设备(关闭屏幕)
  3. 然后我看到一系列奇怪的呼叫:
onFinishInputView(finishingInput=true)
onStartInputView(editorInfo, restarting=false)
onFinishInputView(finishingInput=true)
onStartInputView(editorInfo, restarting=false)

onStartInputView()是最后一个通话,因此从IME角度来看,即使设备已锁定(屏幕关闭),键盘视图也是“可见的”。

我的自定义IME需要准确地知道何时不再显示键盘(例如,停止某些后台处理,或发送 session close 事件):由于似乎我该怎么办?不能依靠onStartInputView()

谢谢!

0 个答案:

没有答案