【发布时间】:2015-07-24 19:42:36
【问题描述】:
我想用内部处理程序停止当前的计时器进程,但是当我运行 mTimer.cancel() 时,我正在终止计时器实例,但 mHandler 及其进程继续它们的动作。我尝试使用 mHandler.removeCallbacks() 但效果不佳。
mTimer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Log.e(TAG, "scan started");
mScanning = true;
mBluetoothAdapter.startLeScan(mLeScanCallback);
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
triggerListener();
Log.e(TAG, "scan stopped");
mScanning = false;
mBluetoothAdapter.stopLeScan(mLeScanCallback);
}
}, scanPeriod);
}
}, new Date(), betweenScanPeriod + scanPeriod);
【问题讨论】:
-
要停止处理程序,您必须处理消息,例如:stackoverflow.com/questions/5819140/…
标签: android timer android-handler