我实现了一个应用来读取nfc标签。但它无法用“android.nfc.action.TECH_DISCOVERED”读取标签。这是我做的事情: (1)在活动
中的AndroidManifest.xml中添加intent过滤器<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED"/>
<meta-data android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tech_filter" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
(2)在/ res / xml /中添加文件“nfc_tech_filter.xml”,如下所示:
<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.NfcBarcode</tech>
<tech>android.nfc.tech.NdefFormatable</tech>
<tech>android.nfc.tech.MifareClassic</tech>
<tech>android.nfc.tech.MifareUltralight</tech>
</tech-list>
</resources>
但我的应用无法获得任何TECH_DISCOVERED意图。我发现logcat中有一个错误:
W/RegisteredComponentCache(1404): Unable to load component info ResolveInfo{41fe1748 com.example.nfcapp/.MainActivity m=0x108000}
W/RegisteredComponentCache(1404): org.xmlpull.v1.XmlPullParserException: No android.nfc.action.TECH_DISCOVERED meta-data
所以我解压缩了我的nfcapp.apk,并检查“/ res / xml /”中是否仍然存在“nfc_tech_filter.xml”。我不是为什么它不能解析元数据或配置错误? 有人可以帮助我吗?
答案 0 :(得分:0)
您是否已将权限和功能包含在Manifest中? 您的最低SDK是否设置为10? 元数据标记必须在您的intent-filter
之外