Android:检测用户不活动/检测(软键盘)键盘输入
问题描述:
我想在我的Android应用程序中检测到“用户不活动”。更确切地说:我想检测用户是否没有与我的应用程序进行任何交互(触摸屏幕,滚动,输入文本...)一段时间。从技术上讲,我使用每个(用户)交互重置的计时器。Android:检测用户不活动/检测(软键盘)键盘输入
在我的活动,我重写onUserInteraction法检测像滚动,触摸屏互动......
@Override
public void onUserInteraction(){
resetInactiveTimer();
}
不幸的是,onUserInteraction不是当用户使用软键盘交互调用。我认为原因是,软键盘不属于我的活动。
对于我的应用程序编辑的文本我用TextWatcher和onTextChanged方法,工作正常。但我的应用程序还包含加载任意网页的WebView。当然一些网页可能包含输入字段,我不知道如何检测用户与软键盘交互以编辑这些文本字段。
答
仍然对此感兴趣吗?
您的活动实现KeyEvent.Callback
,这样你就可以覆盖onKeyDown
:
@Override
public boolean onKeyDown (int keyCode, KeyEvent event) {
resetInactiveTimer();
return false;
}
或者,(最常见的情况),如果该键是在EditText
或类似的压制与光标,你将需要实施OnKeyListener
并使用onKey
方法调用resetInactiveTimer();
输入方法不需要发送关键事件。事实上,果冻豆软键盘在按下退格键时不会发送任何关键事件。 – 2013-11-01 22:20:34