Android afficher les notifications de BroadcastReceiver
J'ai une classe qui extends BroadcastReceiver qui est appelée à chaque fois que de nouveaux Wifi résultats d'analyse sont disponibles (le récepteur est inscrite dans le manifeste avec la Scan_Results l'émission, car l'intent-filter).
À partir de cette classe, je veux être en mesure d'afficher une notification à l'utilisateur. Actuellement, je passe le contexte qui est reçu comme un paramètre de la méthode onReceive de mon émission intention de classe à une "afficher les notifications" méthode d'une autre classe.
Quand il arrive à la ligne:
myNotificationManager.notify(notificationId, notification);
il échoue avec l'exception suivante:
java.lang.IllegalArgumentException: contentView required: pkg=com.mumfordmedia.trackify id=2131034122 notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x0)
Une idée de pourquoi ce qui se passe? Tout ce que je peux penser, c'est parce que le contexte que je reçois de la onReceive paramètre n'est pas ... faute d'une meilleure expression, "droit du travail"...
Des idées?
Merci,
Max.
- Peut-être cette stackoverflow.com/questions/2826786/... de l'aide. De toute façon, nous montrer plus de code afin que nous puissions vous aider.
- Merci de nous montrer un peu plus de votre code afin que nous puissions avoir une meilleure idée de ce qui se passe.
- En passant, Bienvenue sur Stackoverflow! Si vous avez une réponse est utile, moyens jusqu'vote. Si la réponse répondu correctement à votre question, veuillez cliquez sur la coche verte à côté d'elle pour accepter la réponse.
Vous devez vous connecter pour publier un commentaire.
ContentView est le point de vue qui est nécessaire lorsque la notification est cliqué. Le code ci-dessous fonctionne très bien et
setLatestEventInfo()
est nécessaire de méthode.Ne sais pas exactement pourquoi il nétait pas de travail avant, mais voici le code que j'ai eu à travailler avec:
Déclarer les éléments suivants, en dehors de toute méthode:
Puis dans l'appel de la méthode onReceive suivantes:
Puis de déclarer la méthode suivante:
Vous avez de Notification d'appel.setLatestEventInfo().
Utiliser ce code avec votre notification
De ce que je peux dire, quand vous êtes en train de créer vous de notification à transmettre au gestionnaire de Notification, vous n'êtes pas en lui donnant un contenu de l'affichage. L'examen de la ligne où vous avez réellement créer de la notification pour voir si vous êtes réellement donner de la notification de la vue à afficher.
Pour ceux qui sont à l'aide de NotificationCompat, le code suivant fonctionne: