Impossible d'obtenir la classe NotificationListenerService pour fonctionner
J'ai une application android qui est d'essayer d'utiliser la nouvelle NotificationListenerService classe de l'api 18. J'ai créé mon propre service de classe qui hérite de cette classe et emportait la onNotificationPosted et onNotificationRemoved événements et bien que mon service semble commencer très bien ces 2 événements ne semblent jamais être appelée lorsque je reçois ou supprimer une notification.
Personne n'a jamais eu de succès avec cette classe, ou éventuellement un code source qu'ils sont à part démontrer exactement comment utiliser cette classe?
source d'informationauteur CeejeeB
Vous devez vous connecter pour publier un commentaire.
Dans mon expérience, presque toutes ces réponses sont tellement sacrément proche de la solution!
La de BASE problème semble se produire au cours du développement; le développement de votre code de la Notification de "l'accès" paramètres de cesser d'être honoré lorsque vous mise à jour votre application entre les sessions de débogage.
Si votre APK/binaire changements et de votre NotificationListenerService arrêts:
J'espère que ce n'est pas un problème lors de la mise à jour de votre app sur Google Play.
Comme une meilleure pratique, pour mon application, j'ai ajouter un débordement option de menu ne s'affiche que dans la non-release qui me permet un accès facile aux paramètres:
NotificationListener.java:
menu_my_activity.xml:
MyActivity.java:
Après l'installation d'une application est configuré correctement, vous devriez accorder.
Vous pouvez trouver le nom de l'application "Paramètres > > Avis de l'accès", puis assurez-vous que la case est remplie. 🙂
mise à jour: https://gist.github.com/xinghui/b2ddd8cffe55c4b62f5d8846d5545bf9
vérifier quel est le service de vie.
toggleNotificationListenerService() système de déclenchement appeler cette méthode.
J'ai rencontré ce bug:
https://code.google.com/p/android/issues/detail?id=59044
Et les notifications ont commencé à venir à mon service qu'après j'ai redémarré mon téléphone.
Après de nombreuses heures de recherches, j'ai enfin trouvé un exemple de code qui fonctionne réellement:
https://github.com/yihongyuelan/NotificationListenerServiceDemo
Après le débogage plusieurs fois sur un appareil, le fait de renommer vos NotificationListener classe permet de résoudre le problème. Il n'a pas d'importance ce que vous renommez-le, juste le changer pour quelque chose de différent de l'ancien nom. J'ai toujours eu pour ce faire, encore et encore.
Parfois la suppression de construire et de reconstruire la source pourrait être la question.
J'ai eu du mal avec elle pendant 3 jours, et voici ce que j'ai fait:
AndroidManifest.xml
Les changements de nom du service de juste l'exemple de classe:
à
Accédez à votre répertoire racine > android , puis supprimer le dossier de création, de permettre à votre projet de reconstruction.
J'ai juste trouvé un peu grand exemple de cette classe en action:
http://www.kpbird.com/2013/07/android-notificationlistenerservice.html
Chose que j'ai appris de la suite de cet exemple est que le service de notification j'ai créé démarre automatiquement lorsque l'autorisation est accordée par la nouvelle notification de l'accès de l'écran, le sens de ma demande n'a pas à démarrer le service manuellement.