android-NFC-如何使用NDEF_DISCOVERED启动应用程序

android-NFC-如何使用NDEF_DISCOVERED启动应用程序,第1张

概述我正在编写一个应该检测nfc标签并自动启动应用程序.我已经通过使用TECH_DISCOVERED过滤器成功做到了这一点,但我认为更好的方法是使用NDEF_DISCOVERED.我已经将意图过滤器添加到清单中,但是它不起作用.这是我的TECH_DISCOVERED的清单代码,可以正常工作:<intent-filter>

我正在编写一个应该检测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启动应用程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1072457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存