Ron*_*Ron 3 android nfc android-intent
我在匹配Intent用于空NFC标签的过滤器时遇到问题。我能够检测到带有NDEF数据的标签。但是,当我点击一个空的NFC标签时,什么也没发生。
以下是我的过滤器部分 AndroidManifest.xml
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED"/>
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
</intent-filter>
<meta-data android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tech_filter" />
Run Code Online (Sandbox Code Playgroud)
我发现在我的nfc技术过滤器列表中执行以下操作:
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
<tech>android.nfc.tech.IsoDep</tech>
<tech>android.nfc.tech.NfcA</tech>
<tech>android.nfc.tech.NfcB</tech>
<tech>android.nfc.tech.NfcF</tech>
<tech>android.nfc.tech.NfcV</tech>
<tech>android.nfc.tech.Ndef</tech>
<tech>android.nfc.tech.NdefFormatable</tech>
<tech>android.nfc.tech.MifareClassic</tech>
<tech>android.nfc.tech.MifareUltralight</tech>
</tech-list>
</resources>
Run Code Online (Sandbox Code Playgroud)
与我的任何标签都不匹配,因为它们被评估为逻辑AND。为了使我的应用程序与我的NFC标签匹配,我为标签创建了一个特定的标签技术列表,如下所示:
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
<tech>android.nfc.tech.NfcA</tech>
<tech>android.nfc.tech.Ndef</tech>
<tech>android.nfc.tech.MifareUltralight</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcA</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.Ndef</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.MifareUltralight</tech>
</tech-list>
</resources>
Run Code Online (Sandbox Code Playgroud)
这将与标记匹配(NfcA AND Ndef AND MifareUltralight) OR NfcA OR Ndef OR MifareUltralight。希望这对目前仍困扰该问题的任何人有所帮助。
| 归档时间: |
|
| 查看次数: |
1985 次 |
| 最近记录: |