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

How to detect fragment is idle for some time in android

我想检查一段时间内是否没有人与片段 UI 进行过交互,在此基础上我想在片段中调用一个 Function/Method。 Android工作室

您可以为此使用处理程序并在用户执行某些操作时调用 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
  }