J'ai une application qui doit mettre à jour une notification d'événement permanent. La notification a une barre de progression que j'ai besoin d'incrémenter toutes les 5 minutes. J'utilise Handlers mais quelque chose à ce sujet me dérange ou je ne comprends tout simplement pas comment ils fonctionnent.Question du gestionnaire Android
if (progress<=24)
{
contentView.setProgressBar(R.id.status_progress,24,progress,false);
Toast.makeText(getApplicationContext(),progress, Toast.LENGTH_SHORT).show();
progress++;
mnNotificationManager.notify(IS_PARKED_ID, notification);
mHandler.postDelayed(mUpdateTimeTaskProgressbar, 300000);
}
Voici le code. Il semble que lorsque l'écran de l'appareil est éteint, la notification n'est pas mise à jour. J'ai utilisé des gestionnaires dans le passé, mais comme je me souviens, je les ai mis à jour tous les 100 milisec. Ma question est donc la suivante: le gestionnaire est-il en pause, s'arrête et redémarre-t-il ou est-ce autre chose? Et avez-vous une suggestion comme wake_lock. Merci à l'avance, Simon
EDIT: oublié de mentionner tout cela est en cours d'exécution d'un service
Il fonctionne à partir d'un service, oublié de mentionner. La chose est que cela arrive tout le temps, pas juste un certain temps. Au cours des deux jours où j'ai testé cela, c'est le cas. Je pense à résoudre cela en utilisant une minuterie. – Simon
Si la période de 5 minutes est un horaire à taux fixe, vous pouvez utiliser la minuterie et, à l'intérieur de la méthode d'exécution du tas, vous pouvez rassembler les données nécessaires à la mise à jour. Après cela, vous pouvez appeler votre gestionnaire pour mettre à jour la barre de progression. – rekaszeru
Il est réparé donc je suppose que je vais utiliser Timer. Merci pour l'aide – Simon