在我的基于Kotlin的android应用程序中,我有一个MainActivity,假设我有几个片段,比如fragmentOne和fragmentTwo。我需要的是我想不断检查用户是否在应用程序中不活动60秒,如果是这样,我需要显示一些布局,以infor用户,他是不活动的。此外,代码应该在Main Activity上运行,并且还应该侦听片段Activity。
我在主要活动中添加的内容如下
class MainActivity: AppCompatActivity() {
private lateinit var mHandler: Handler
private lateinit var mRunnable: Runnable
private var mTime: Long = 60000
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mHandler = Handler(Looper.getMainLooper())
mRunnable = Runnable {
Log.d("Checking", "Timer checking : User inactive for ${mTime/1000} secs!")
}
startHandler()
}
override fun onTouchEvent(event: MotionEvent?): Boolean {
stopHandler()
startHandler()
return super.onTouchEvent(event)
}
private fun startHandler(){
mHandler.postDelayed(mRunnable, mTime)
}
private fun stopHandler(){
mHandler.removeCallbacks(mRunnable)
}
}
字符串
在上面的代码中,计时器检查只执行一次。但我需要重置计时器时,用户是活跃的,计时器应再次反复运行,并检查用户是否超过60秒不活动
不知道为什么它对我不起作用,是因为片段只在视口中可用吗?
1条答案
按热度按时间u91tlkcl1#
这是我的时间检查代码与进度条。我希望这对你有用。Jodatime请求Datetime当用户做某事编辑lastTimeRequest
字符串