Comment Programmer la Notification Android
Je suis en train de définir la notification d'un moment dans l'avenir.
J'ai le code pour la création d'une notification, mais je ne peux pas trouver une option pour le programmer.
Comment puis-je programmer des notifications?
C'est toujours utile car l'autre question était de 3 ans avant celui-ci et de certains sous-jacents au comportement a changé, donc merci!
OriginalL'auteur OmerN | 2016-04-27
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser
PendingIntent
etBroadCastReceiver
pour ce -Aussi, vous avez besoin pour afficher les notifications dans votre classe de récepteur -
Enfin , appelez
scheduleNotification()
avec les arguments appropriés et vous êtes bon pour aller !donc tous les jours à 12H, par exemple... sont ceux du code d'aller dans l'activité principale?
Ce code programmé l'alarme sera annuler lors de l'application est de glisser dans "applications récentes de la liste". Comment éviter ce problème?
Semble que l'on a accepté la réponse devrait être celui-ci par apelsoczi.. Semble relativement inutile pour planifier une notification sans une garantie de livraison à la date prévue si le téléphone est redémarré.
Cette réponse est INCORRECTE, parce que vous mettez des images de l'intention. C'est l'anti-modèle et pourrait provoquer des erreurs. S'il vous plaît avoir un lookt: stackoverflow.com/questions/23407821/...
OriginalL'auteur Shadab Ansari
Ne PAS UTILISER DANS le OREO+ (edit)
Les réponses ci-dessus sont de bonne mais ne considère pas que l'utilisateur potentiel pour redémarrer l'appareil (qui efface PendingIntent qui est programmé par AlarmManager).
Vous avez besoin pour créer un WakefulBroadcastReceiver, qui contiendra un AlarmManager à l'annexe livrer un PendingIntent. Lorsque le WakefulBroadcastReceiver gère l'intention post votre avis et le signal de la WakefulBroadcastReceiver pour terminer.
WakefulBroadcastReceiver
BootReceiver
AndroidManifest.xml
Hey sur la
BootReceiver.class
vous ne devriez pas utiliser manuellement, tapez "android.l'intention.d'action.BOOT_COMPLETED" plutôt utiliserIntent.ACTION_BOOT_COMPLETED
bonne prise - j'ai mis à jour ce! Merci pour la contribution.
N'oubliez pas d'ajouter la permission dans le fichier Manifest <uses-permission android:name="android.la permission.RECEIVE_BOOT_COMPLETED" />
WakefulBroadcastReceiver est obsolète dans Android 8.0. Ainsi, cette solution peut ne pas fonctionner pour Android 8.0
OriginalL'auteur apelsoczi