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
添加回答
舉報