Je dois créer une application dans laquelle je dois définir une date et à cette date précise à 9 heures, je dois donner une notification. Quelle est la méthode la plus simple de faire cela? Je veux que l'application fonctionne même lorsque l'application est tuée quand même. Est alarmmanager une solution? P>
4 Réponses :
Vous devez créer l'application comme service Android . p>
Un service est un composant d'application pouvant effectuer de longueurs Opérations en arrière-plan et ne fournit pas d'interface utilisateur. Un autre composant d'application peut démarrer un service et continuera courir en arrière-plan même si l'utilisateur passe à un autre application. De plus, un composant peut se lier à un service à interagir avec elle et même effectuer une communication interprocessée (IPC). Par exemple, un service peut gérer les transactions réseau, jouer de la musique, Effectuer des fichiers E / S ou interagir avec un fournisseur de contenu, tous de la fond. p> blockQuote>
Gestionnaire d'alarme est la solution que je suppose. Vous devez définir le gestionnaire d'alarme à une heure précise, puis appellez-le appel à la notification de son OnStart. Et cela devrait être mis en œuvre dans un service. J'espère que cela a aidé. P>
Vous devez utiliser un du Docs : P>
Lorsqu'une alarme s'éteint, l'intention qui avait été enregistrée pour elle est
diffusé par le système, Donc cela signifie que: p>
alarmmanager code> pour définir une alarme de
rtc_wakeup code>
type. p>
BroadcastListener code> qui écoute le démarrage_commlete
événement pour ré-enregistrer l'alarme après un redémarrage de périphérique. LI>
ul>
Pour planifier une action, vous pouvez utiliser l'alarmManager
Essayez ce code, il fonctionne pour moi: p>
1 / Déclarez la classe BroadCastraSiver pour lancer l'action, cette classe peut être à l'intérieur de votre activité ou de l'extérieur. dans un autre fichier Java p> 2 / à l'intérieur de votre méthode oncreate Mettez ce code P> AlarmManager alarms = (AlarmManager)this.getSystemService(Context.ALARM_SERVICE);
Receiver receiver = new Receiver();
IntentFilter filter = new IntentFilter("ALARM_ACTION");
registerReceiver(receiver, filter);
Intent intent = new Intent("ALARM_ACTION");
intent.putExtra("param", "My scheduled action");
PendingIntent operation = PendingIntent.getBroadcast(this, 0, intent, 0);
// I choose 3s after the launch of my application
alarms.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+3000, operation) ;
Je voulais dire que je pouvais toujours obtenir cette notification sans accéder à l'application à nouveau
L'OP signifiait évidemment s'il sort de la batterie et le remplace.