La norme ISO 7816-4 APDU de commande, Sélectionnez le Fichier et Écrire Record

Je suis en train d'essayer de communiquer entre PN532 et HCE sur Android avec la norme ISO 7816-4 commande, je suis avec succès sélectionnez l'AIDE (DF), mais lorsque je sélectionne l'EF en vertu de cette DF (EF n'existe pas, donc je suppose que la commande Select permet de créer ce EF), puis écrire les enregistrements pour que EF mais il affiche comme ceci:

inList passive target
write:  4A 1 0
read:   4B 1 1 0 4 60 4 8 23 5A 4D 5 75 80 70 2
write:  40 1 0 A4 4 0 7 F0 1 2 3 4 5 6 0
read:   41 0 48 65 6C 6C 6F 20 44 65 73 6B 74 6F 70 21
Successfully hehe 
48 65 6C 6C 6F 20 44 65 73 6B 74 6F 70 21    Hello Desktop!
write:  40 1 0 A4 2 C 1 1 0
read:   41 0 48 65 6C 6C 6F 20 44 65 73 6B 74 6F 70 21
Not enough space
write:  40 1 0 D2 0 0 7 42 41 4F 47 49 41 40 0
read:   41 0 4D 65 73 73 61 67 65 20 66 72 6F 6D 20 61 6E 64 72 6F 69 64 3A 20 30
Not enough space
write:  40 1 0 D2 0 2 4 44 4F 41 4E 0
read:   41 0 4D 65 73 73 61 67 65 20 66 72 6F 6D 20 61 6E 64 72 6F 69 64 3A 20 31
Not enough space
write:  40 1 0 B2 0 0 7 42 41 4F 47 49
read:   41 0 4D 65 73 73 61 67 65 20 66 72 6F 6D 20 61 6E 64 72 6F 69 64 3A 20 32
Not enough space
write:  40 1 0 B2 0 2 4 44 4F 41 4E 0
read:   41 0 4D 65 73 73 61 67 65 20 66 72 6F 6D 20 61 6E 64 72 6F 69 64 3A 20 33
Not enough space

Je ne sais pas ce que je fais de mal ici?

Sur Android, le journal est :

04-15 09:36:54.024: D/HostEmulationManager(929): notifyHostEmulationData
04-15 09:36:54.024: W/System.err(17710): [B@41ed5970
04-15 09:36:54.024: I/HCEDEMO(17710): Received: ???????BAOGI
04-15 09:36:54.024: D/HostEmulationManager(929): Sending data
04-15 09:36:54.164: D/BrcmNfcJni(929): RoutingManager::stackCallback: event=0x17
04-15 09:36:54.164: D/BrcmNfcJni(929): RoutingManager::stackCallback: NFA_CE_DATA_EVT;       h=0x302; data len=10
04-15 09:36:54.164: D/HostEmulationManager(929): notifyHostEmulationData
04-15 09:36:54.164: W/System.err(17710): [B@41ed5e20
04-15 09:36:54.164: I/HCEDEMO(17710): Received: ?????DOAN??
04-15 09:36:54.174: D/HostEmulationManager(929): Sending data
04-15 09:36:54.885: D/BrcmNfcJni(929): RoutingManager::stackCallback: event=0x19
04-15 09:36:54.885: D/HostEmulationManager(929): notifyHostEmulationDeactivated
04-15 09:36:54.885: I/HCEDEMO(17710): Deactivated: 0
04-15 09:36:54.885: D/HostEmulationManager(929): Unbinding from service  ComponentInfo{de.grundid.hcedemo/de.grundid.hcedemo.MyHostApduService}
04-15 09:36:54.895: E/BrcmNfcNfa(929): UICC[0x0] is not activated

Il affiche qu'il peut recevoir des données, mais il manque quelques éléments que je veux transmettre, mais, à partir de PN532, lorsque j'utilise lire des enregistrements, il n'affiche pas ces données?

Vous ne devez PAS supposer que si un EF n'existe pas, la commande Select permet de créer ce EF. Vous devez créer l'EF à l'aide de CRÉER un FICHIER de commande.
Désolé, mais je ne pouvais pas trouver de CRÉER le FICHIER de commande, SÉLECTIONNEZ simplement le FICHIER de commande?
Le lien pour la commande que j'utilise est ici: cardwerk.com/smartcards/...
Vous devez vous référer à la norme ISO 7816-9 pour CRÉER le FICHIER de commande
La partie système de fichiers est complètement hors de propos, que -- en regardant la R-unités apdu -- il n'y a évidemment pas de système de fichier de la mise en œuvre derrière le Android HCE service Bao Doan est en communication avec.

OriginalL'auteur Bao Doan | 2014-04-14