2009-12-28 18 views
2

Je suis nouveau dans le développement d'Android, donc je pourrais manquer quelque chose d'évident. Je veux lancer un Activity lorsque l'horloge du téléphone de l'utilisateur atteint une heure spécifiée (similaire à une alarme). Cependant, je ne suis pas sûr de savoir comment j'y arriverais, car un sondage constant semble inefficace et gaspille des ressources. Ai-je besoin de capturer des événements de diffusion à partir de l'horloge ou d'utiliser PendingIntents? Si quelqu'un pourrait signaler quelques méthodes SDK/services je devrais lire à ce sujet, il serait très apprécié. Merci.Lancer l'activité à un certain moment

+0

Gardez à l'esprit que vos utilisateurs vous attaqueront avec des tuyaux en plomb dans la véranda si vous implémentez cela. L'apparition d'une activité à l'improviste, à l'exception des appels téléphoniques entrants, est considérée comme un comportement d'application impoli. Après tout, que faire si l'utilisateur est en train de faire quelque chose quand votre alarme se déclenche? – CommonsWare

+0

Ah, je ne l'implémente pas dans une application publiée. Je suis juste en train de jouer avec le SDK. Mais je suis d'accord, il serait fou de lancer des applications de façon inattendue sur le téléphone. – keyboardP

Répondre

8

Jetez un oeil aux documents pour android.app.AlarmManager.

Cette classe permet à votre application de programmer PendingIntents pour diffusion à des heures spécifiques, ce qui sonne exactement comme vous le souhaitez. Il suffit de planifier un PendingIntent qui lance l'application souhaitée. Sachez que lorsque votre alarme se déclenche, le téléphone ne peut plus dormir jusqu'à ce que (et seulement jusqu'à) onReceive() termine l'exécution. Si vous devez garder le téléphone plus longtemps éveillé, vous devrez peut-être mettre en place votre propre verrou de réveil.

+0

Merci pour la réponse. AlarmManager ressemble à ce dont j'ai besoin. Je pense que je l'avais déjà vu auparavant, mais je l'ai relu en pensant que c'était littéralement pour le système d'alarme. Je vais jouer avec cela et j'espère que quelque chose fonctionnera :). Merci! – keyboardP