J'ai une application qui lit et écrit les balises NFC. J'ai testé mon application sur un Galaxy Note 3 et cela fonctionne bien. Mais lorsque je le teste sur un ordinateur portable Note 5 et un Galaxy S6, un message indiquant que le type de balise NFC n'est pas pris en charge apparaît.
Est-ce la faute de mon application ou est-ce que mes tags ne sont pas pris en charge sur ces appareils?
Mon type de tag est conforme à la norme ISO 14443A.
Vous utilisez les balises MIFARE Classic. Bien que ces balises soient partiellement basées sur ISO/IEC 14443-3A (ou en réalité l'inverse), elles utilisent un algorithme de chiffrement propriétaire et un cadrage propriétaire. Étant donné que NXP (propriétaire de la technologie MIFARE Classic) ne semble pas attribuer de licence à la technologie de lecteur MIFARE Classic à d'autres fabricants de puces, l'accès à la mémoire des balises MIFARE Classic n'est disponible que sur les périphériques NFC dotés du jeu de puces NXP.
Cela signifie généralement que vous ne pouvez pas accéder aux données des balises MIFARE Classic via des périphériques sans un jeu de puces NXP NFC. En règle générale, vous pouvez toujours accéder à l'identifiant anti-collision (UID) ISO/IEC 14443-3A via l'API Android. Malheureusement, Samsung a décidé de bloquer complètement MIFARE Classic sur leurs appareils en affichant le message "Type de balise NFC non pris en charge". Par conséquent, vous ne pouvez même pas détecter ces balises à partir d'applications situées sur les appareils Samsung concernés. Voir Masquer l'erreur "Type de balise NFC non pris en charge" sur les appareils Samsung Galaxy pour des solutions possibles pour contourner cette limitation.
En ce qui concerne vos appareils spécifiques, le Samsung Note 3 contient un contrôleur NXP PN544 NFC et prend donc en charge MIFARE Classic. Le Samsung Galaxy S6 contient un contrôleur Samsung S3FWRN5P NFC (le Note 5 contient probablement aussi un contrôleur NFC de Samsung) et, par conséquent, ne prend pas en charge (et bloque complètement) MIFARE Classic.
Il semble que votre tag soit un Mifare Classic: https://en.wikipedia.org/wiki/MIFARE#MIFARE_Classic
Mifare classique:
Il utilise un protocole de sécurité propriétaire NXP (Crypto-1) pour authentification et chiffrement. Cela signifie que seuls les périphériques avec un NXP NFC La puce de contrôleur peut lire ou écrire ces étiquettes.
Je confirme que mon Samsung S7 avec Android 7.0 affiche le message "incompatible", mais qu'il peut lire correctement les balises mifare (uniquement l'identifiant), mais uniquement à l'aide de l'application spécifique à NXP. Il reste cependant à trouver une application capable de reproduire uniquement l'identifiant d'une carte.