10
votes

Handler ou minuterie Android

Je suis essayé d'afficher un msg tous les 1 min !! sans arrêt! J'ai trouvé des exemples qui affichent le msg une seule fois après un retard fixe !! pouvez-vous aider comment peut la définir ?? Ou si vous utilisez la minuterie, c'est mieux comment cela fonctionne, j'ai besoin d'un exemple !! xxx

merci!


1 commentaires

Si vous avez trouvé une solution qui fonctionne pour vous, veuillez accepter la réponse.


3 Réponses :


24
votes

Essayez ce code -

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);
      }
}


3 commentaires

Génial que cela vous aide. Veuillez également accepter la réponse si cela aide.


Terminé mais j'ai juste besoin de votre aide pour Sking, je veux appeler une autre fonction qui insère des valeurs dans la base de données si je lance la fonction seule que cela fonctionne, mais dans le temps qu'il ne fonctionne pas, pouvez-vous m'aider à m'aider?


résolu thnx que je voulais dire est d'exécuter 2 fonction non seulement afficher () !! Donc, je viens d'appeler la deuxième fonction simplement! Merci quand même :)



1
votes

Vous pouvez utiliser TIMERTASK code> pour cela.Mais lorsque votre appareil va dormir, il ne fonctionnera pas, alors je pense que vous pouvez utiliser alarmmanager code> pour cela. Quoi qu'il en soit, reportez-vous à la référence Ce lien Pour timerask code>,

AlarmManager Code, P>

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


1 commentaires

Mais dans Gestionnaire d'alarme, vous ne pouvez pas afficher Toast Message.Il montrera une nouvelle activité. Mais cela vous aidera à vous aider.



2
votes
// 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);
}

0 commentaires