据我所知,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 斯登
答案 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()函数。