jan*_*nas 8 android user-inactivity android-softkeyboard
我想在我的Android应用中检测到"用户不活动".更确切地说:我想检测用户是否未与我的应用程序进行任何交互(触摸屏幕,滚动,输入文本......)特定时间.从技术上讲,我使用一个在每个(用户)交互上重置的计时器.
在我的活动中,我重写onUserInteraction方法来检测滚动,触摸屏幕等交互...
@Override
public void onUserInteraction(){
resetInactiveTimer();
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,当用户与软键盘交互时,不会调用onUserInteraction.我认为原因是,软键盘不属于我的Activity.
对于我的应用程序中的编辑文本,我使用TextWatcher和onTextChanged方法,它工作正常.但我的应用程序还包含一个加载任意网页的WebView.当然,一些网页可能包含输入字段,我不知道如何检测用户与软键盘交互以编辑这些文本字段.
还对此感兴趣吗?
您的活动实现了KeyEvent.Callback,因此您可以覆盖onKeyDown:
@Override
public boolean onKeyDown (int keyCode, KeyEvent event) {
resetInactiveTimer();
return false;
}
Run Code Online (Sandbox Code Playgroud)
或者,(在最常见的情况下)如果在光标处于 an 或类似位置时按下该键EditText,您将需要实现 anOnKeyListener并使用该onKey方法来调用resetInactiveTimer();
| 归档时间: |
|
| 查看次数: |
2966 次 |
| 最近记录: |