Langue

AlarmManager.SetInexactRepeating Méthode

Définition

Planifiez une alarme répétée qui a des exigences de temps de déclenchement inexactes ; par exemple, une alarme qui se répète toutes les heures, mais pas nécessairement au sommet de chaque heure.

[Android.Runtime.Register("setInexactRepeating", "(IJJLandroid/app/PendingIntent;)V", "GetSetInexactRepeating_IJJLandroid_app_PendingIntent_Handler")]
public virtual void SetInexactRepeating(Android.App.AlarmType type, long triggerAtMillis, long intervalMillis, Android.App.PendingIntent operation);
[<Android.Runtime.Register("setInexactRepeating", "(IJJLandroid/app/PendingIntent;)V", "GetSetInexactRepeating_IJJLandroid_app_PendingIntent_Handler")>]
abstract member SetInexactRepeating : Android.App.AlarmType * int64 * int64 * Android.App.PendingIntent -> unit
override this.SetInexactRepeating : Android.App.AlarmType * int64 * int64 * Android.App.PendingIntent -> unit

Paramètres

type
AlarmType

type d’alarme.

triggerAtMillis
Int64

temps en millisecondes que l’alarme doit d’abord se désactiver, à l’aide de l’horloge appropriée (selon le type d’alarme). C’est incorrect : l’alarme ne se déclenche pas avant cette époque, mais il peut y avoir un retard de presque un intervalle d’alarme entier avant la première invocation de l’alarme.

intervalMillis
Int64

intervalle en millisecondes entre les répétitions suivantes de l’alarme. Avant l’API 19, s’il s’agit de l’un des INTERVAL_FIFTEEN_MINUTES, INTERVAL_HALF_HOUR, INTERVAL_HOUR, INTERVAL_HALF_DAY ou INTERVAL_DAY, l’alarme est alignée sur les autres alarmes pour réduire le nombre de réveils. Sinon, l’alarme sera définie comme si l’application avait appelé #setRepeating. À compter de l’API 19, toutes les alarmes répétées seront inexactes et soumises à un traitement par lot avec d’autres alarmes, quel que soit leur intervalle de répétition indiqué.

operation
PendingIntent

Action à effectuer lorsque l’alarme s’éteint ; provient généralement de PendingIntent#getBroadcast IntentSender.getBroadcast().

Attributs

Remarques

Planifiez une alarme répétée qui a des exigences de temps de déclenchement inexactes ; par exemple, une alarme qui se répète toutes les heures, mais pas nécessairement au sommet de chaque heure. Ces alarmes sont plus efficaces que les périodicités strictes généralement fournies par setRepeating(int, long, long, PendingIntent), car le système peut ajuster les temps de livraison des alarmes pour les déclencher simultanément, évitant ainsi de réveiller l’appareil du sommeil plus que nécessaire. Le premier déclencheur de votre alarme ne sera pas avant l’heure demandée, mais il peut ne pas se produire pendant presque un intervalle complet après cette heure. En outre, alors que la période globale de l’alarme répétée sera telle que demandée, le temps entre deux tirs successifs de l’alarme peut varier. Si votre application exige une gigue très faible, utilisez plutôt des alarmes one-shot avec une fenêtre appropriée ; consultez setWindow(int,long,long,PendingIntent) et setExact(int,long,PendingIntent). À partir de l’API 19, toutes les alarmes répétées sont inexactes. Étant donné que cette méthode a été disponible depuis l’API 3, votre application peut l’appeler en toute sécurité et être assuré qu’elle obtiendra un comportement similaire sur les versions actuelles et antérieures d’Android. Applications ciblant Build.VERSION_CODES. S doit définir l’indicateur PendingIntent.FLAG_MUTABLE sur l’instance PendingIntent utilisée pour définir cette alarme, s’il souhaite que le nombre d’alarmes soit fourni avec la clé Intent.EXTRA_ALARM_COUNT.

Voir aussi :

Référence Android pour android.app.AlarmManager.setInexactRepeating.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à