3 回答
TA贡献1895条经验 获得超7个赞
Handler handler = new Handler();
Runnable runnableRunner = new Runnable() {
@Override
public void run() {
btScanner.stopScan(leScanCallback);
}
}
public void startScanning() {
final long SCAN_PERIOD = 10000;
handler.postDelayed(runnableRunner, SCAN_PERIOD);
btScanner.startScan(leScanCallback);
}
使用removeCallbacks删除消息队列中Runnable r的任何挂起的帖子。
// cancel runnable whenever your condition is met.
handler.removeCallbacks(runnableRunner);
或用于删除所有消息和回调
handler.removeCallbacksAndMessages(null);
TA贡献1853条经验 获得超9个赞
关于这个问题我还有另一个问题。我在代码的“顺序”部分中有一个方法,而不是在异步部分中,只有在调用该方法或在过期之后m()
才需要调用该方法。我如何检查这些条件并基本上等待这两种情况之一发生?我需要放入同步吗?(现在我也有了可以使用的全局)handler.removeCallbacksAndMessages(null);
SCAN_PERIOD
m()
run
handler
添加回答
举报