We created TimeTap NFC for Harvest for the Isobar Create 48 Hackathon back in September but have not had a chance to get our hands on an NFC enabled phone again until now. We had an error reported that when tags were scanned, they were not launching TimeTap. This didn’t make sense because nothing had changed in our codebase since the hackathon.

David Yashar of SoftAid let us borrow an Android 2.3.7 (Nexus S 4G Sprint) phone for the week to work on TimeTap until the Galaxy Nexus comes out on Verizon. After 2 days of digging through forums and trying random combinations of things we just found this issue on Google for Android: Post 2.3.6 update NFC P2P Intent-filter not matching. Ahah! It wasn’t us! It was Android not following the spec and then changing that in 2.3.6 and up. The version of Android we had at the hackathon was 2.3.3, so now it all makes sense.
Hope this helps someone out who is trying to figure out why their NFC app is not launching from their tags in Android!
The code snippit that made the difference. It prepends an extra 0x00 byte to the payload.
Source of UriRecord.java: