Mise à jour des widgets Android toutes les 1 minute

Bonjour, j'écris un widget Android; Je voulais le mettre à jour toutes les 1-5 minutes pour surveiller les données du service Web, mais j'ai découvert que Android: updatePeriodMillis ne peut pas être inférieur à 30 minutes …. Comment puis-je obtenir ce résultat avec un Widget?

Merci et salutations c.

  • Est-il possible de créer une image par programmation sur Java, Android?
  • Comment puis-je vérifier l'image URI est valide dans Android?
  • Logcat est souvent hors travail
  • Activer une application lorsqu'un bouton d'alimentation est cliqué
  • Bibliothèque GCM de gestionnaire SDK d'Android
  • Gradle met des fichiers en double dans le fichier apk
  • Rétrofit @body avec @multipart ayant un problème
  • Le retour de rappel de Spinner sur deux fois appelé deux fois après une rotation si la position différente de zéro est sélectionnée
  • Comment importer plusieurs fichiers .vcf par programme dans Android?
  • Problème de connexion au téléphone LG avec AdB (Mac OS X 10.7.5)
  • Style de la barre d'action AppCompat
  • Comment spécifier le dossier lib pour les JAR lors de l'utilisation du fichier de génération de fourmi généré par Android?
  • 2 Solutions collect form web for “Mise à jour des widgets Android toutes les 1 minute”

    Enregistrez un service AlarmManager pour chaque appel de 1 min.

    final Intent intent = new Intent(context, UpdateService.class); final PendingIntent pending = PendingIntent.getService(context, 0, intent, 0); final AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); alarm.cancel(pending); long interval = 1000*60; alarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(),interval, pending); 

    Toutefois, la mise en place de mises à jour sur les widgets d'application est une opération coûteuse. La mise à jour toutes les 1 min obligerait votre code "mise à jour d'un widget d'application" à résider dans la mémoire qui continue à fonctionner tout le temps, ce qui entraînera également une perte considérable de la batterie.

    Utilisez un Handler pour sendMessageDelayed(..) un message ou postDelayed(..) un Runner .

     new Handler().postDelayed( new Runnable() { public void run() { ... }, 60000 /* one minute */ ); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.