如果我超出某些特定纬度和经度的半径,我的计时器就会运行。当我试图将此代码放在onCreate()方法时,它运行正常。但是当我试图将此代码放在onServiceUpdate方法中时,它并没有开始计数。此方法类似于googleMaps API中的lika onLocationChanged()。
以下是代码:
public void onServiceUpdate(ServiceState state) {
final float[] distance = new float[2];
Location.distanceBetween(state.getGeoPoint().getLatitude(), state.getGeoPoint().getLongitude(), -6.182215, 106.785118, distance);
if (distance[0] > 100.0) {
countDownTimer = new CountDownTimer(5000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
txtCount.setText("Second : " + millisUntilFinished /1000);
}
@Override
public void onFinish() {
txtCount.setText("Finish !");
}
}.start();
countDownTimer.start();
}
}
有什么想法吗?