2010-11-13 12 views
0

Je crée un widget d'horloge pour l'écran d'accueil android en utilisant AppWidgetProvider.Android AppWidgetProvider et mise à jour de l'écran?

Je l'ai appeler la classe TimerTask qui met à jour toutes mes valeurs en utilisant ce code:

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) 
{ 
    Timer timer = new Timer(); 
    timer.scheduleAtFixedRate(new MyTime(context, appWidgetManager), 1, 1000); 
} 

Dans les TimerTask run() Je suis en train un tas de vues de texte aux valeurs relevent. Mon problème est que cela semble fonctionner correctement, mais il rend mon écran d'accueil ne répond pas, probablement en raison de la mise à jour toutes les secondes.

Comment résoudre ce problème tout en actualisant l'affichage au bon moment? (J'ai seulement besoin de voir les minutes et non les secondes, mais je veux que les minutes changent à la bonne seconde.)

Répondre

0

Utilisez AlarmManager. Réglez l'heure de l'alarme répétée. Mettez à jour votre widget d'application lorsque l'alarme se déclenche.