问题描述
我想检查一段时间没有人与片段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
}