Как получить доступ к хронометру (TextView) из сервиса

#android

#Android

Вопрос:

Вызов:

             Intent i  = new Intent(Timer.this,TimerService.class);
            i.putExtra("ms", ms);
            startService(i);
  

код:

 public class TimerService extends Service{

    CountDownTimer timer;
    Chronometer clock;
    @Override
    public IBinder onBind(Intent intent) {

        return null;
    }
    public void setClock (Chronometer cron)
    {
        this.clock = cron;
    }
    @Override
    public void onStart(Intent intent, int startId) {
        // TODO Auto-generated method stub
        int ms = intent.getIntExtra("ms", 0);

        timer = new  CountDownTimer(ms,1000){
            @Override
            public void onTick(long millisUntilFinished) {

                int seconds = (int) (millisUntilFinished / 1000) % 60 ;
                int minutes = (int) ((millisUntilFinished / (1000*60)) % 60);
                int hours   = (int) ((millisUntilFinished / (1000*60*60)) % 24);

                clock.setText( String.format("d:d:d", hours,minutes,seconds));
                Log.e("Timer", String.valueOf(millisUntilFinished));

            }

            @Override
            public void onFinish() {
                // TODO Auto-generated method stub

            }
        }.start();
        super.onStart(intent, startId);
    }
  

У меня есть служба времени, и я хочу обновить хронометр (например, TextView) с помощью метода OnTick (). Я не знаю, как получить к этому доступ. пожалуйста, помогите

Ответ №1:

может быть, вы можете использовать AsyncTask? http://developer.android.com/reference/android/os/AsyncTask.html