Use CountDown Timer o rodar mi propio basado en Handler en Android

Este post: http://android-developers.blogspot.co.uk/2007/11/stitch-in-time.html

Describe cómo implementar un temporizador utilizando un Handler. Podría lograr lo mismo usando un temporizador CountDown: http://developer.android.com/reference/android/os/CountDownTimer.html

Esto se ejecutará en un servicio de primer plano que está reproduciendo música con el fin de detener la música después de un período de tiempo especificado (piense sillas musicales). Los tiempos necesitan ser confiables cuando la pantalla está bloqueada, creo que la ejecución en un servicio de primer plano debe garantizar esto, es este el caso?

Sé por este post: ¿Por qué CountDown Timer en Android utiliza un Handler?

Que CountDown temporizador se implementa con un controlador de modo que mi pensamiento es que probablemente no importa lo que uso, pero antes de empezar a codificar pensé que iba a buscar la sabiduría de la multitud!

Gracias, Andrew

One Solution collect form web for “Use CountDown Timer o rodar mi propio basado en Handler en Android”

Terminé yendo para un Handler y está trabajando muy bien:

//required import import android.os.Handler; //class wide variable... are these considered bad? private Handler timeHandler = new Handler(); //wherever in your code you want to begin the timer or reset it timeHandler.removeCallbacks(updateTime); timeHandler.postDelayed(updateTime, 100); //this is the callback which will be called every 100ms or whatever value you gave in postDelayed private Runnable updateTime = new Runnable() { public void run() { timeHandler.postDelayed(this, 100); currentTimeMillis = currentTimeMillis + 100; //do whatever you need to do every 100ms here... or whenever currentTimeMillis reaches the value you're waiting for. } 

He añadido un wakeLock para mantener la CPU despierta si la pantalla está bloqueada y también utiliza un servicio de primer plano. Ha sido exacto en las pruebas que he hecho hasta ahora.

  • Fiabilidad del método postDelay de Android
  • ¿Cómo puedo implementar un Timer / TimerTask que ejecuta un AsyncTask? (Androide)
  • Android: EditText pierde foco cuando se llama a setText
  • Eventos retardados en Android
  • Error de Android: "No se pudo crear la instancia de epoll" o "No se pudo crear el canal de despertador"
  • Temporizador de cuenta atrás Android La barra de progreso circular no coincide con el temporizador
  • Cambiar horario scheduleAtFixedRate
  • Lanzar null pointerException en Timer.Schedule ();
  • Android: para medir el tiempo entre los dos clics de botón
  • ¿Cómo hacer un temporizador simple sin nueva clase en Android?
  • Android equivalente de setTimeout y clearTimeout de javascript?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.