开始阅读Android 2.3的NFC标签活动

时间:2011-05-26 04:23:06

标签: android android-activity android-intent nfc

据我所知,Android 2.3使用单步法进行NFC标签检测(仅TAG_DISCOVERED)。

<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>

这意味着如果多于一个活动声明读取NFC标签的意图,则活动选择对话框“使用完成操作”弹出窗口,因为“标签”应用程序已经有一个TagViewer活动来处理NFC标签。

有没有办法避免对话?

BR 斯登

2 个答案:

答案 0 :(得分:0)

我认为你在库存中运气不好2.3;只要还安装了默认的标签应用程序,您就可以获得该对话框。

然而,在2.3.3更新及更高版本中,有一组更复杂的intent-filters。看这里: http://programming-android.labs.oreilly.com/ch16.html#ch18_id316624

您可以使用ACTION_NDEF_DISCOVERED过滤器在标记应用程序执行普通TAG_DISCOVERED fitler之前捕获它。缺点是您可能需要注册某些URI或MIME类型。我自己没试过这个。

答案 1 :(得分:0)

最好的方法是enableForegroundDispatch()函数。