3 回答

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
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刪除消息隊(duì)列中Runnable r的任何掛起的帖子。
// cancel runnable whenever your condition is met.
handler.removeCallbacks(runnableRunner);
或用于刪除所有消息和回調(diào)
handler.removeCallbacksAndMessages(null);

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊
關(guān)于這個(gè)問(wèn)題我還有另一個(gè)問(wèn)題。我在代碼的“順序”部分中有一個(gè)方法,而不是在異步部分中,只有在調(diào)用該方法或在過(guò)期之后m()
才需要調(diào)用該方法。我如何檢查這些條件并基本上等待這兩種情況之一發(fā)生?我需要放入同步嗎?(現(xiàn)在我也有了可以使用的全局)handler.removeCallbacksAndMessages(null);
SCAN_PERIOD
m()
run
handler
添加回答
舉報(bào)