Android 计时器没有开始计数

Android 计时器没有开始计数,android,countdowntimer,Android,Countdowntimer,若我超出了某个特定纬度和经度的半径,那个么计时器就会运行。当我尝试将此代码放入onCreate()方法时,它运行正常。但当我尝试将此代码放入onServiceUpdate方法时,它并没有开始计数。此方法类似于googleMaps API中的onLocationChanged() 代码如下: public void onServiceUpdate(ServiceState state) { final float[] distance = new float[2]; Location.di

若我超出了某个特定纬度和经度的半径,那个么计时器就会运行。当我尝试将此代码放入onCreate()方法时,它运行正常。但当我尝试将此代码放入onServiceUpdate方法时,它并没有开始计数。此方法类似于googleMaps API中的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();
    }
}

有什么想法吗?

试着在runonuithread上运行它。该类是如何调用的?如果确切的代码在Oncreate中运行,但不是在它自己的类中运行,则会导致人们相信onServiceUpdate类没有被调用。感谢ASP和Phil3992的合作