2011-12-30 16 views
10

estoy tratando de mostrar un mensaje cada 1 min !! sin parar! ¡Encontré un ejemplo que muestra el mensaje solo una vez después de un retraso fijo! ¿Puedes ayudarme cómo puede configurarlo? o si usar el temporizador es mejor como funciona, ¡necesito un ejemplo!manejador o temporizador android

public class TimertestActivity extends Activity { 
    /** Called when the activity is first created. */ 

     @Override 
     public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     setContentView(R.layout.main); 
     Handler handler = new Handler(); 
     handler.postDelayed(
      new Runnable() { 
       public void run() { 
        afficher(); 
       } 
      }, 1000L); 

     } 

     public void afficher() 
     { 
      Toast.makeText(getBaseContext(), 
        "test", 
        Toast.LENGTH_SHORT).show(); 
     } 
} 

¡Gracias!

+0

Si has encontrado una solución que funcione para usted, por favor, acepte la respuesta. –

Respuesta

24

probar este código -

public class TimertestActivity extends Activity { 
    Handler handler = new Handler(); 
    Runnable runnable = new Runnable() { 
     public void run() { 
      afficher(); 
     } 
    }; 

    /** Called when the activity is first created. */ 

     @Override 
     public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     setContentView(R.layout.main); 
     runnable.run(); 
     } 

     public void afficher() 
     { 
      Toast.makeText(getBaseContext(), 
        "test", 
        Toast.LENGTH_SHORT).show(); 
      handler.postDelayed(runnable, 1000); 
     } 
} 
+1

yaaaaaaah genial, funciona correctamente !! muchas gracias :) –

+0

Genial que te ayude. Por favor también acepte la respuesta si esto ayuda. – anujprashar

+0

¿cómo puedo hacer esto? –

1

Se puede utilizar para TimerTask this.But cuando el dispositivo va dormir no va a trabajar por lo que creo que se puede utilizar para este AlarmManager. De todos modos refiere this link para TimerTask,

código AlarmManager,

AlarmManager am = (AlarmManager) Context.getSystemService(Context.ALARM_SERVICE); 
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, 
       SystemClock.elapsedRealtime(), interval, pendingIntent); 
+0

Pero en el administrador de alarmas no puedes mostrar el mensaje de brindis. Mostrará actividad nueva. Pero esto te será útil. –

2
// Timer using Handler 

private final int SPLASH_TIME = 3000; 

// Handling splash timer. 
private void startSplashTimer() { 
    new Handler().postDelayed(
    new Runnable() { 
    @Override 
    public void run() { 
     startActivity(new Intent(SplashScreen.this,MainActivity.class)); 
    } 
}, SPLASH_TIME); 

}

Cuestiones relacionadas