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