title: Android NFC (ATQB from ISO-14443 Type B tag to phone)
body: <p>My goal is to have an Android phone (Samsung Galaxy Nexus) communicate with a TI TRF7970A card in emulation mode (emulates ISO-14443 type B tag) through NFC.<br>
  I understand that the PCD (Android phone) sends out a "REQB" with a given AFI and then which ever PICC's (in my case only PICC is the TI TRF7970 card) that have a matching AFI will send an "ATQB" back to the PCD.</p>
  
  <p>In some TRF7970A firmware the "ATQB" response was set up like so:</p>
  
  <pre><code>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)  
  </code></pre>
  
  <p>This "ATQB" has the PCD (Android phone) automatically launch the web browser with URL "http://www.Cisco Auth Complete".</p>
  
  <p>Question:<br>
  (1) Which field tells the phone to automatically launch the web browser? How can I change that field so that I can manually chose which application acts on the intent?   </p>
  
  <p>I've tried looking online to learn how I can manipulate the fields but have had no luck.<br>
  I read 3 Type B 14443-4 Smart Cards (MAXIM-MAX66020k-00AA+) with my Android phone and the "ATQB"'s were as follows:  </p>
  
  <pre><code>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  
  </code></pre>
  
  <p>I tried sending these exact ATQB messages with the TI TRF7970A card but the Android phone still does not act on the "ATQB" response.  </p>
  
  <p>Question:<br>
  (2) Can you point out a reason why any of these last 3 "ATQB"'s wouldn't be excepted?<br>
  (3) What are some legit "ATQB"'s that when sent to my Android phone it will create an intent?<br>
  (4) Are there rules I can follow so that my android phone always creates an intent on the "ATQB"'s I respond with from the TI TRF7970A?  </p>
  
  <p>If you could direct me to a source that can explain any of this, it would be greatly appreciated.  </p>
  
  <p>Thanks in advance!<br>
  -Derek</p>