Android 活动不是由NFC标签启动的
我已经在活动的清单文件中声明了必需的意图过滤器 情景1: 当我使用NFCDemo android示例应用程序->宽频播放nfc标签->进行测试时,我的应用程序会像其他nfc应用程序一样在选择器对话框中提示nfc标签信息和NXP标签信息 情景2: 在刷完真正的NFC标签(卡)->NFC TagInfo后,TagInfo应用程序会在选择器对话框中出现提示,但我的应用程序没有 我的要求->我的应用程序也应该像NFC标签信息应用程序一样显示。 更多信息->这是一张空卡Android 活动不是由NFC标签启动的,android,nfc,intentfilter,ndef,launching-application,Android,Nfc,Intentfilter,Ndef,Launching Application,我已经在活动的清单文件中声明了必需的意图过滤器 情景1: 当我使用NFCDemo android示例应用程序->宽频播放nfc标签->进行测试时,我的应用程序会像其他nfc应用程序一样在选择器对话框中提示nfc标签信息和NXP标签信息 情景2: 在刷完真正的NFC标签(卡)->NFC TagInfo后,TagInfo应用程序会在选择器对话框中出现提示,但我的应用程序没有 我的要求->我的应用程序也应该像NFC标签信息应用程序一样显示。 更多信息->这是一张空卡 <intent-filter
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/supporting_nfc_techlist" />
仅当您的NFC标记包含与筛选器匹配的NDEF消息时,才会触发发现的NDEF\u意向筛选器。通常,您应该为特定记录类型(例如,特定MIME类型、特定NFC论坛外部类型名称或特定URI(-prefix))指定筛选器。对“*/*”使用MIME类型筛选器在某些设备上不起作用 在应用程序清单中通常不应使用发现的
标记
意图过滤器。在当前的Android版本中,它主要与前台调度系统一起使用,如果没有为任何标记发现事件注册其他活动,则作为备用
TECH\u DISCOVERED
intent过滤器将过滤那些在supporting\u nfc\u techlist.xml文件中定义的标记技术。例如,如果要检测任何标记,可以使用如下过滤器:
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
<tech>android.nfc.tech.NfcA</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcB</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcF</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcV</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.IsoDep</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.MifareClassic</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.MifareUltralight</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NdefFormatable</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.Ndef</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcBarcode</tech>
</tech-list>
</resources>
是指
NfcA
和NfcB
(一种不能作为NfcX
的组合(X={a,B,F,V})技术类型是互斥的。只有当NFC标记包含与筛选器匹配的NDEF消息时,才会触发发现的NDEF\u
意向筛选器。您通常应为特定记录类型指定筛选器(例如,为特定MIME类型、特定NFC论坛外部类型名称或特定URI)(-prefix))。对“*/*”使用MIME类型筛选器在某些设备上不起作用
TAG_DISCOVERED
intent过滤器通常不应在应用程序清单中使用。在当前的Android版本中,它主要用于前台调度系统,如果没有为任何标记发现事件注册其他活动,则作为备用
TECH\u DISCOVERED
intent过滤器将过滤那些在supporting\u nfc\u techlist.xml文件中定义的标记技术。例如,如果要检测任何标记,可以使用如下过滤器:
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
<tech>android.nfc.tech.NfcA</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcB</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcF</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcV</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.IsoDep</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.MifareClassic</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.MifareUltralight</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NdefFormatable</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.Ndef</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcBarcode</tech>
</tech-list>
</resources>
是指
NfcA
和NfcB
(一种不能作为NfcX
的组合(X={a,B,F,V})技术类型相互排斥。您的空卡是否为NDEF格式?PS:向我们展示您的支持\u nfc\u技术列表file@VGe0rge,问题仅在支持nfc技术列表中,Michale Roland answer帮助我解决了问题。谢谢你,VGE0RGE你的空卡是否为NDEF格式?PS:显示你的支持nfc技术列表file@VGe0rge,问题在于仅支持nfc技术列表,Michale Roland answer帮助我解决了问题。谢谢VGe0rge@Michale罗兰,我做了一个改变,用你提供的内容替换了我支持的\u nfc\u techlist.xml的内容,我的应用程序显示在对话框列表中。然后我比较了两个文件,不同的是,你提到了每个ech在单独的tehc列表标签中输入,我将所有内容组合在一个技术列表标签中。非常感谢您的回答,这对我很有帮助me@Michale罗兰,谢谢迈克尔的精彩解释。我正在考虑如何有效地使用技术列表,现在你的答案澄清了。@Michale Roland,我做了一个改变,替换了我支持的nfc技术列表的内容st.xml与您提供的内容一致,我的应用程序显示在对话框列表中。然后我比较了这两个文件,不同的是,您在单独的tehc列表标记中提到了每种技术类型,我将所有内容分组在一个技术列表标记中。非常感谢您的回答,这对我有所帮助me@Michale罗兰,谢谢迈克尔的精彩解释随着思考如何有效地使用技术列表,现在您的答案变得清晰了。
<tech-list>
<tech>android.nfc.tech.NfcA</tech>
<tech>android.nfc.tech.NfcB</tech>
</tech-list>