What you're saying doesn't jive with the documentation, which says the following (on http://developer.android.com/guide/topics/nfc/index.html):
Specifiying [sic] multiple technologies within the same list tells the system to filter tags that support all of the technologies. The example below never filters a tag because no tag supports all of the technologies at once. You can remove the ones that you do not need. The docs say a tag will only match if all tag technologies are listed in my tech-list, and all tech-list technologies are implemented by the tag. You're saying that the tag's technologies only need to match a sub-set of the tech-list. Or are you saying that a MifareUltralight tag only reports MifareUltralight technology? Or that the docs are wrong? I have a related question that I hope you don't mind answering here as well. To build an intent filter in code that supports tech, how do you specify the techlists on it? Or does this only work in foreground dispatch mode? Thanks for your help. - dave On Feb 23, 12:41 am, Nick Pelly <[email protected]> wrote: > On Tue, Feb 22, 2011 at 6:50 PM, davemac <[email protected]> wrote: > > I'm reading the documentation on NFC tags and intent filters to match > > on. For an action of ACTION_TECH_DISCOVERED, the intent filter must > > list the technologies to match on, using a filter file. What I wanted > > clarification on is whether or not I need to also specify for example > > NfcA when I'm looking for a Mifare Utralight tag. > > > For the Mifare Ultralight tag, the documentation says this: > > NfcA will also be enumerated on the tag, because all MIFARE Ultralight > > tags are also NfcA tags. > > > This suggests to me that my XML filter file should say this: > > > <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> > > <tech-list> > > <tech>android.nfc.tech.NfcA</tech> > > <tech>android.nfc.tech.MifareUltralight</tech> > > </tech-list> > > </resources> > > > because if the tag is enumerating NfcA in addition to > > MifareUltralight, my intent filter will only match if I specify both > > technologies, not just MifareUltralight. Is that true? This applies to > > IsoDep as well, which enumerates both NfcA and NfcB, in which case I > > would need to specify all three. True? I don't have available hardware > > to test this for myself. Thanks for your help. > > You do not need to specify both NfcA and MifareUltralight. You can just > specify MifareUltralight. The <tech-list> only requires a subset of tech's > in order to match. > > In the case of MIFARE Ultralight, it happens to always be based on NfcA > technology. So tags with the MifareUltralight tech will always also have the > NfcA tech. So there is no harm also putting NfcA in the <tech-list>. But it > is not strictly required. > > Nick -- 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

