3 votes

comment affecter une application à un événement ?

Je voudrais utiliser des tags NFC avec Lanceur de tâches NFC o AutomateIt mais à chaque fois que je scanne le tag, j'obtiens une popup demandant l'application à utiliser (j'en ai quelques unes liées au NFC). J'ai un Samsung Galaxy S3 et un Galaxy Notes 2. Il n'y a pas de choix "toujours utiliser cette application" (similaire à celui que j'avais lorsque je cliquais sur un lien pour la première fois - qui faisait apparaître un panneau d'applications avec un choix de "cette fois seulement" ou "à chaque fois").

Existe-t-il un moyen de forcer l'affectation d'une application à un événement ?

Gracias.

0 votes

Si ce n'est pas le cas, et que votre appareil est enraciné, vous pouvez rechercher "AutoRun Manager" dans le playstore. Installez-le, et désactivez les écouteurs correspondants des apps qui ne doivent pas répondre. Ce n'est pas une solution vraiment propre (et cela ne durera que jusqu'à ce que l'une de ces applications reçoive une mise à jour, ou que vous installiez une autre application NFC - auquel cas vous devrez répéter cette étape pour l'application concernée), mais cela devrait faire l'affaire : Un seul récepteur = Pas de Popup :)

0 votes

@Izzy : merci (malheureusement mon téléphone n'est pas rooté). Si je comprends bien, les applications s'enregistrent elles-mêmes comme "gestionnaires d'événements" et il n'y a aucun moyen de modifier cela (de la même manière que sous Windows ou Linux). L'idée est que je modifierais une fois le hook pour l'événement "NCF tag read", dans le pire des cas jusqu'à ce qu'une nouvelle application soit installée (ce qui pourrait être OK pour les événements pour lesquels vous avez des applications appropriées et pour lesquels vous n'avez pas besoin de redéfinir régulièrement).

0 votes

On peut l'appeler comme ça. Ce qu'ils enregistrent s'appelle un "auditeur", et le système envoie une "diffusion" à tous les auditeurs enregistrés - mais le principe est le même. Ce que vous podría si aucune des applications liées n'est une application système, il faut utiliser un outil pour reconstruire l'interface utilisateur. .apk avec ces écouteurs enlevés. Mais cela pourrait être délicat, et même un peu risqué, car vous devriez le faire pour chaque mise à jour, et vous pourriez même être incapable de mettre à jour une telle application (en raison du "sceau brisé").

3voto

Milner Points 533

Contexte

Pour comprendre le problème, il faut savoir comment cela fonctionne :

Pour presque tout, Android diffuse des "événements" -- comme par exemple boot_completed, SMS reçu, carte SD insérée/enlevée, batterie faible... Signal NFC reçu. Les applications peuvent enregistrer des "écouteurs" avec le système, qui sont liés à des événements spécifiques. Dans votre cas, les applications mentionnées se sont enregistrées pour les événements NFC.

Or, lorsqu'un événement est diffusé et qu'il n'y a pas d'écouteur, rien ne se passe. Si une seule application a enregistré un écouteur, cette application sera appelée. Si plusieurs applications ont enregistré des écouteurs, le système vérifie si l'une d'entre elles est définie comme "Default" par l'utilisateur ; si c'est le cas, c'est elle qui est appelée -- sinon, une fenêtre popup apparaît pour que l'utilisateur choisisse l'application qui doit gérer l'événement. En général, cette fenêtre contient également une case à cocher pour faire de cette application l'application par défaut pour cet événement donné.

Solutions

Comme indiqué, il devrait normalement y avoir une case à cocher, ce qui ne semble pas être le cas dans votre cas. Il semble donc qu'il n'y ait aucune possibilité de définir une action par défaut pour cet événement, quelle qu'en soit la raison. Vous pouvez essayer des applications du playstore qui gèrent les applications par défaut (par ex. Gestionnaire d'applications par défaut ) - mais il est fort probable que cela ne fonctionne pas non plus.

Un deuxième point à examiner serait dans Paramètres Apps Gérer les Apps choisissez l'application de votre choix et vérifiez si la case correspondante est cochée. non grisé -- Si c'est le cas, il suffit de le vérifier. Le plus souvent, il sera grisé, et vous ne pourrez donc rien faire ici non plus.

L'étape suivante nécessiterait un rootage - donc si votre appareil n'est pas rooté, c'est purement informatif pour vous. Comme décrit ci-dessus dans "Background", toutes les applications liées ont un listener enregistré avec le système. Nous devrions donc être en mesure de le désenregistrer. Cela peut être fait, par exemple, avec Autorun Manager PRO (oui, vous aurez besoin de la version Pro - car avec la version gratuite, vous ne pouvez modifier que 2 entrées).

AutoRun Manager Pro

Comme le montre la capture d'écran, cette application peut activer/désactiver les écouteurs, ce qui vous permet d'éviter que des applications soient lancées automatiquement dans des situations où vous ne le souhaitez pas. Ce qui s'applique à la vôtre : Trouvez l'écouteur correspondant, désactivez-le et c'est bon.

Sans Root, la seule possibilité restante est de se débarrasser de toutes les applications sauf une. Vous pouvez désinstaller les autres ou, si vous préférez les conserver (et que vous utilisez Android 4.0 ou une version ultérieure), les désactiver tout simplement dans Paramètres Apps Gérer les Apps Ainsi, en cas de besoin, vous pouvez simplement les réactiver au même endroit.

0 votes

Merci pour le résumé. J'ai essayé des applications comme Gestionnaire d'applications par défaut mais ils ne couvrent pas le NFC.

0 votes

La raison en est encore incertaine pour moi. Si c'est simplement trop récent (donc Gestionnaire d'applications par défaut ne connaît pas le NFC), le gestionnaire d'événements dans Android lui-même devrait être capable de gérer cela, y compris les valeurs par défaut. Merci pour le nom de l'application, je vais mettre à jour ma réponse avec elle, afin que nous ayons tout ensemble :)

0 votes

J'ai essayé de geler l'application nfc (samsung nfc service) sur mon note 2 avec titanium mais cela a tué complètement le nfc.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X