如何在Android中检测片段空闲一段时间

问题描述

我想检查一段时间没有人与片段UI进行交互,并基于此,我想在片段内部调用函数/方法。 Android Studio

解决方法

您可以为此使用处理程序,并在用户执行某些操作时调用resetTimeout():


  val timeoutHandler = Handler(Looper.getMainLooper()) {
    onTimeout()
    true
  }

  fun clearTimeout() = timeoutHandler.removeMessages(0)

  fun resetTimeout() =
      clearTimeout().also {
        timeoutHandler.sendEmptyMessageDelayed(0,TIMEOUT_IN_MILLIS)
      }


  override fun onResume() {
    super.onResume()
    resetTimeout()
  }

  override fun onPause() {
    super.onPause()
    clearTimeout()
  }

  private fun onTimeout() {
    //we have timed out
  }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...