Androidアプリで「ユーザーの非アクティブ」を検出したい。より正確に言うと、ユーザーが特定の時間にアプリを操作(画面のタッチ、スクロール、テキストの入力など)を行っていないかどうかを検出したいと思います。技術的には、(ユーザーの)対話ごとにリセットされるタイマーを使用します。
私のアクティビティでは、onUserInteractionメソッドをオーバーライドして、スクロール、画面へのタッチなどのインタラクションを検出します...
@Override
public void onUserInteraction(){
resetInactiveTimer();
}
残念ながら、ユーザーがソフトキーボードを操作するときに、onUserInteractionは呼び出されません。その理由は、ソフトキーボードが私のアクティビティの一部ではないためだと思います。
私のアプリのテキストの編集には、TextWatcherとonTextChangedメソッドを使用します。これは正常に機能します。しかし、私のアプリには、任意のWebページをロードするWebViewも含まれています。もちろん、一部のWebページには入力フィールドが含まれている可能性があり、ユーザーがソフトキーボードを操作してそれらのテキストフィールドを編集していることを検出する方法がわかりません。