我的目标是让 Android 手机(三星 Galaxy Nexus)通过 NFC 在仿真模式(模拟 ISO-14443 B 型标签)下与 TI TRF7970A 卡通信。
我知道 PCD(Android 手机)发送一个带有给定 AFI 的“REQB”,然后哪个 PICC(在我的情况下只有 PICC 是 TI TRF7970 卡)具有匹配的 AFI 将发送一个“ATQB”回聚碳酸酯。
在某些 TRF7970A 固件中,“ATQB”响应设置如下:
0x50; //
//PUPI
0x80; // PUPI_0
0x12; // PUPI_1
0x34; // PUPI_2
0x56; // PUPI_3
//Application DATA
0x40; // APP_0 AFI Telecommunication (Telephone,GSM) All Sub families 1-F
0xE2; // APP_1 CRC_B of the AID (multibyte application identifier code which identifies an application provider or issuer and indicates if the application provider is registered with ISO)
0xAF; // APP_2 CRC_B of the AID
0x11; // APP_3 # of applications (1)
//Protocol DATA
0x80; // Data rate capabilities (Same bit rate from PCD to PICC and from PICC to PCD compulsory)
0x71; // Max Frames (128 bytes) / Protocol Type (supports PICC ISO 14443-4)
0x85; // FWI (0b1000 - 8192 ETUs or 77328.6 us) / ADC (0b01 - determines what APP_0-3 are if 0b00 then App data can be anything) / FO (0b01 - CID Supported - used for identification of multiple cards in the Active state)
此“ATQB”具有 PCD(Android 电话)自动启动带有 URL“http://www.Cisco Auth Complete”的 Web 浏览器。
问题:
(1)哪个字段告诉手机自动启动网络浏览器?如何更改该字段以便我可以手动选择哪个应用程序对意图起作用?
我曾尝试在网上查找以了解如何操作这些字段,但没有运气。
我用我的 Android 手机读取了 3 个 B 型 14443-4 智能卡 (MAXIM-MAX66020k-00AA+),“ATQB”如下:
Card 1 Card 2 Card 3
0x50 0x50 0x50
//PUPI
0xd8 0x99 0x1a
0x60 0x5c 0x61
0x02 0x02 0x02
0x00 0x00 0x00
//Application Data
0x10 0x20 0x10
0x10 0x00 0x10
0x11 0x2b 0x11
0x11 0xe0 0x11
//Protocol Data
0x00 0x00 0x00 106Kbits/sec
0x00 0x00 0x00 16 bytes / Not type B -4 complient)
0x00 0x00 0x00 32 ETUs / Application is proprietary / Nad "nor" CID are supported
我尝试使用 TI TRF7970A 卡发送这些确切的 ATQB 消息,但 Android 手机仍然没有对“ATQB”响应采取行动。
问题:
(2)你能指出为什么最后三个“ATQB”中的任何一个都不会被排除在外的原因吗?
(3) 哪些合法的“ATQB”在发送到我的 Android 手机时会创建一个意图?
(4) 是否有我可以遵循的规则,以便我的 android 手机始终在我从 TI TRF7970A 响应的“ATQB”上创建意图?
如果您能指导我找到可以解释任何这些的来源,将不胜感激。
提前致谢!
-德里克