Based on what I'm seeing, I tend to agree. It's looking like I should be
able to accomplish most what I'm after without too much trouble.
-- Paul Christensen


On Mon, Mar 14, 2011 at 2:53 PM, Nick Pelly <[email protected]> wrote:

> Hi Paul,
>
> My understanding is that those types of transactions always happen at the
> ISO14443-4 (ISO-DEP) layer, or more accurately ISO7817-4 (APDU) which is
> built on top of ISO-DEP.
>
> It's a really crappy bug, but should not get in the way of any real
> use-cases.
>
> Nick
>
> On Mon, Mar 14, 2011 at 8:12 AM, Paul Christensen <
> [email protected]> wrote:
>
>> Sweet! I found me a real live Android bug! Do I win a hat? :)
>>
>> I'm a little out of my element here, and was hoping to be able to work
>> from code in an existing application, but in light of this, it looks like
>> that will not be possible.
>> Can you tell me, will communicating through IsoDep still allow me to
>> retrieve data like the track2 data from credit cards, assuming I know the
>> protocols to use?
>> -- Paul Christensen
>>
>>
>>
>> On Fri, Mar 11, 2011 at 6:04 PM, Nick Pelly <[email protected]> wrote:
>>
>>> Sorry for the late reply,
>>>
>>> We have looked into this, and it is indeed a bug.
>>>
>>> On 2.3.3, NfcA.connect() and NfcB.connect() fail if the tag also
>>> enumerates IsoDep.
>>>
>>> The good news is that most of the time IsoDep.connect() is what you want
>>> :)
>>>
>>> We will address this issue in a future release. It's a little tricky
>>> since we need to actually reconnect to the tag to drop back to NfcA/NfcB
>>> from IsoDep.
>>>
>>> Thanks for bringing this to our attention,
>>>
>>> Nick
>>>
>>> On Mon, Mar 7, 2011 at 10:14 AM, Paul Christensen <
>>> [email protected]> wrote:
>>>
>>>> Thanks. I appreciate you looking in to this.
>>>> To verify, yes, I am only trying to connect to one tech at a time.
>>>> I am not connecting to IsoDep, and then attempting to connect to
>>>> NfcB/NfcA.
>>>> I only know about IsoDep working because after failing to connect to
>>>> NfcB, I swapped out my objects and attempted to connect to the same cards
>>>> using IsoDep, which was successful.
>>>>
>>>> -- Paul Christensen
>>>>
>>>>
>>>>
>>>> On Mon, Mar 7, 2011 at 11:04 AM, Nick Pelly <[email protected]> wrote:
>>>>
>>>>> I'll try and reproduce. But I just want to make sure, are you only
>>>>> connecting NfcB / NfcA, and never connecting IsoDep first? Because you can
>>>>> only connect one tech at a time.
>>>>>
>>>>> Nick
>>>>>
>>>>>
>>>>> On Mon, Mar 7, 2011 at 7:57 AM, Paul Christensen <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Ok, for #1 I'll just keep trying the card and see if I can manage to
>>>>>> talk to it.
>>>>>> For the additional issues, the sequence of events and relevant code is
>>>>>> as follows:
>>>>>> I scan a card with my app set to receive the scans. The appropriate
>>>>>> Activity opens,  retrieves a Tag object, and executes an AsyncTask.
>>>>>> The AsyncTask determines the card technology and based on the card
>>>>>> technology, attempts to open a connection to that card as follows:
>>>>>> private static NfcB getNfcBTag(Tag tag) throws Exception
>>>>>> {
>>>>>>     NfcB myTag = NfcB.get(tag);
>>>>>>     try
>>>>>>     {
>>>>>>         if(!myTag.isConnected())
>>>>>>         {
>>>>>>             myTag.connect();
>>>>>>         }
>>>>>>     }
>>>>>>     catch(Exception e)
>>>>>>     {
>>>>>>         Log.e(TAG, e.getMessage());
>>>>>>     }
>>>>>>     return myTag;
>>>>>> }
>>>>>>
>>>>>> The above method throws an exception on myTag.connect(). The exception
>>>>>> is a java.IOException, but the message and source are both null, so I 
>>>>>> have
>>>>>> no idea why it's happening. Now, if I change this method to be IsoDep
>>>>>> instead of NfcB (or NfcA, for that matter), I am able to successfully
>>>>>> connect to the card, send a message to the card, and retrieve a response
>>>>>> from that card.
>>>>>>
>>>>>>
>>>>>> -- Paul Christensen
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Sun, Mar 6, 2011 at 10:06 PM, Nick Pelly <[email protected]> wrote:
>>>>>>
>>>>>>> Hi Paul,
>>>>>>>
>>>>>>> For (1), it is very hard to discover NfcB credit card on the Nexus S.
>>>>>>> Many NfcB credit cards only work well with high powered readers. That 
>>>>>>> said,
>>>>>>> if you play with the credit card orientation against the back of the 
>>>>>>> Nexus S
>>>>>>> (where the NFC antenna is) you should be able to eventually scan it.
>>>>>>>
>>>>>>> For (2), (3) and (4), can you provide some sample code, and tell us
>>>>>>> exactly where it is failing.
>>>>>>>
>>>>>>> Nick
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Mar 4, 2011 at 10:30 AM, Paul Christensen <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Ok, so I've learned additional, somewhat less than encouraging
>>>>>>>> things.
>>>>>>>>
>>>>>>>>    1. I have a Discover "Zip" card, no idea what the ISO technology
>>>>>>>>    is, all I do know is the Nexus S does not respond at all to this 
>>>>>>>> card.
>>>>>>>>    2. I have a Visa NfcB card that will connect as IsoDep, but not
>>>>>>>>    as NfcB.
>>>>>>>>    3. I have an Amex NfcB card that will connect as IsoDep, but not
>>>>>>>>    as NfcB.
>>>>>>>>    4. I have a MasterCard NfcA card that will connect as IsoDep,
>>>>>>>>    but not as NfcA.
>>>>>>>>
>>>>>>>> Any thoughts would be greatly appreciated.
>>>>>>>>
>>>>>>>> --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Android Developers" group.
>>>>>>>> To post to this group, send email to
>>>>>>>> [email protected]
>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>> [email protected]
>>>>>>>> For more options, visit this group at
>>>>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to