android notification en arrière-plan si l'application fermée?
J'essaie d'afficher une notification sur Android barre de notifications, même si mon application est fermée.
J'ai essayé de chercher, mais je n'ai pas eu la chance de trouver de l'aide.
Un exemple de ceci est une application d'actualités. Même si l'écran du téléphone est éteint ou la nouvelle application est fermée, il est toujours possible d'envoyer une notification pour les dernières nouvelles et qu'elle s'affiche dans la barre de notification.
Comment pourrais-je aller sur le faire dans mon propre application?
- Avez-vous trouvé votre réponse?! même problème ici
Vous devez vous connecter pour publier un commentaire.
Vous avez à construire un Service qui gère vos nouvelles et affiche des notifications quand il sait qui sont de nouvelles de nouvelles (Service Doc).
Le service doit s'exécuter en arrière-plan, même si votre application est fermée.
Vous avez besoin d'un BroadcastReciever pour exécuter le service en arrière-plan après la phase d'initialisation est terminée. (De service de démarrage après le démarrage).
Le service sera de construire votre notifications et de les envoyer par le biais de la NotificationManager.
EDIT: Cet article peuvent répondre à vos besoins
La réponse sélectionnée est toujours correct, mais uniquement pour les appareils fonctionnant sous Android 7 et versions ci-dessous.
Comme d'Android 8+, vous ne pouvez plus avoir un service qui s'exécute en arrière-plan pendant que votre application est en veille ou la fermeture.
Donc, cela dépend maintenant de la façon dont vous configurez les notifications depuis votre GCM/FCM serveur. S'assurer de le mettre à la priorité la plus élevée. Si votre application est en arrière-plan ou tout simplement pas active et de vous envoyer seulement des données de notification, le processus du système de la notification et de l'envoyer à la barre de Notification.
J'ai utilisé cette réponse à écrire un service, et à titre d'exemple, vous devez appeler
ShowNotificationIntentService.startActionShow(getApplicationContext())
à l'intérieur de l'une de vos activités: