例如:新开线程,每5秒钟执行一边业务,当执行了10次,就停止线程
val handler = Handler()
//移除线程
private val stopHandler: Handler = @SuppressLint("HandlerLeak")
object : Handler() {
override fun handleMessage(msg: Message) {
when (msg.what) {
1 -> {
handler.removeCallbacks(runnable)
}
}
super.handleMessage(msg)
}
}
private var mThreadCount = 1
//生成二维码成功之后开启线程
val runnable = object : Runnable {
override fun run() {
mThreadCount += 1
if (mThreadCount ==10) {
//mThreadCount 等于10,就移除线程
stayTimeOut()
Log.e("------", "run 1111")
}
//执行一遍再次发送一遍事件,形成循环
handler.postDelayed(this, mSleepTime)
}
}
private fun stayT