我正在编写一个应该检测nfc标签并自动启动的应用程序.
我已经通过使用TECH_disCOVERED过滤器成功做到了这一点,但我认为更好的方法是使用NDEF_disCOVERED.
我已经将意图过滤器添加到清单中,但是它不起作用.
这是我的TECH_disCOVERED的清单代码,可以正常工作:
<intent-filter> <action androID:name="androID.nfc.action.TECH_disCOVERED"/> </intent-filter> <Meta-data androID:name="androID.nfc.action.TECH_disCOVERED" androID:resource="@xml/nfc_tech_filter" />
当我想尝试NDEF_disCOVERED时,我尝试:
<intent-filter> <action androID:name="androID.nfc.action.NDEF_disCOVERED"/> <category androID:name="androID.intent.category.DEFAulT"/> <data androID:mimeType="text/plain" />
对于标签,我使用市场上的NFC TagInfo应用将“ mifare classic 1k”标签写为“ Smart Poster”.
我究竟做错了什么?
或者,还有什么其他方法可以使我的应用启动而不显示活动选择对话框?
谢谢,
伊朗
解决方法:
您正在过滤的是文本/纯文本,而不是智能海报的URI. AndroID将智能海报转换为URI,然后您必须过滤该URI.如果检查启动的意图,则可以在logcat中看到URI.对于像http://example.com/file这样的URI,请执行以下 *** 作:
<intent-filter> <action androID:name="androID.nfc.action.NDEF_disCOVERED" /> <category androID:name="androID.intent.category.DEFAulT" /> <data androID:scheme="http" androID:host="example.com" androID:pathPrefix="/file" /></intent-filter>
有关如何解析NDEF消息的更多信息,请参见NFC开发指南.请阅读整个文档,以完全了解如何针对正确的意图进行过滤:http://developer.android.com/guide/topics/nfc/nfc.html
总结以上是内存溢出为你收集整理的android-NFC-如何使用NDEF_DISCOVERED启动应用程序全部内容,希望文章能够帮你解决android-NFC-如何使用NDEF_DISCOVERED启动应用程序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)