Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android ejecuta una tarea periódicamente

Quiero ejecutar un método periódicamente en una actividad de Android que actualiza un cierto campo después de x segundos. Sé que se puede hacer en timerTask, pero ¿cuál es la mejor manera de hacerlo? Las muestras de código podrían ser útiles.

  • ¿Cómo puede la aplicación de configuración iniciar la actividad no exportada de una aplicación?
  • RequiereApi vs TargetApi anotaciones android
  • Encontrar el "nombre de la clase de Android" en "AndroidManifest.xml" generado por Unity3D
  • Preferencias compartidas vs base de datos
  • Chromium webview no parece funcionar con Android applyOverrideConfiguration
  • Cómo imprimir PDF usando Android 4.4 Marco de impresión
  • El depurador de Android Studio destaca las líneas incorrectas
  • Android NDK: compilación personalizada de WebView desde el origen
  • ¿Por qué OnCreate () de Fragment se llama a veces antes de OnCreate de Activity ()?
  • window.close equivalente en Phonegap con InAppBrowser
  • ¿Cuáles son las principales diferencias entre una VM de base de registro y una basada en una pila?
  • Impresión de Logcat "nombre de la interfaz: null" durante cada llamada al método de ejecución DefaultHttpClient
  • 3 Solutions collect form web for “Android ejecuta una tarea periódicamente”

    Debe utilizar Handler y su función postDelayed . Puede encontrar un ejemplo aquí: ¿ Repite una tarea con un retardo de tiempo?

    Puedes usar las siguientes clases de android:

    1.Handler

     Handler handler=new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { //your code } },20000); 

    2.AlarmManager

     AlarmManager alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); // Set the alarm to start at approximately 2:00 pm Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); Intent intent = new Intent(HomeActivity.this, Yourservice.class); alarmIntent = PendingIntent.getService(HomeActivity.this, 0, intent, 0); alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 600*1000, alarmIntent); 

    También puede hacerlo por CountDownTimer

     CountDownTimer countDownTimer; public void usingCountDownTimer() { countDownTimer = new CountDownTimer(Long.MAX_VALUE, 10000) { // This is called after every 10 sec interval. public void onTick(long millisUntilFinished) { setUi("Using count down timer"); } public void onFinish() { start(); } }.start(); } 

    Y onPause ()

     @Override protected void onPause() { super.onPause(); try { countDownTimer.cancel(); } catch (Exception e) { e.printStackTrace(); } } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.