場景
在NFC開發(fā)過程中,當(dāng)把公交卡、銀行卡呜达、身份證等卡片靠近自己手機(jī)時(shí),如何讓自己的app像支付寶缸浦、京東夕冲、QQ及其他銀行app一樣氮兵,展示出自己的app?說白了就是如何讓自己的app進(jìn)入系統(tǒng)的候選列表歹鱼?
解決方案
如何讓自己的app進(jìn)入系統(tǒng)的候選列表?為此需要有以下3步操作:
1.權(quán)限配置
<!-- NFC讀取權(quán)限 -->
<uses-permission android:name="android.permission.NFC"/>
<!-- 要求當(dāng)前設(shè)備必須要有NFC芯片 -->
<uses-feature android:name="android.hardware.nfc" android:required="true" />
2.activity配置
<meta-data android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tech_filter"/>
3.xml過濾文件配置nfc_tech_filter.xml
?注意:
1. nfc_tech_filter.xml是在res/xml中添加的xml文件
2. 文件名nfc_tech_filter可以自定義弥姻,只需要和第2步中的配置的該文件名稱保持一致即可南片。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<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.NfcA</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcF</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.Ndef</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcV</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcB</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NdefFormatable</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.IsoDep</tech>
</tech-list>
</resources>
特別提示:
nfc_tech_filter.xml中配置的NFC類型可以不用這么多,可以根據(jù)實(shí)際情況庭敦,配置你所需要支持的類型即可疼进。我這里是自己開發(fā)的Demo,為了方便各種都支持識別秧廉。
經(jīng)過以上3點(diǎn)配置伞广,就可以讓自己的app進(jìn)入系統(tǒng)的候選列表了。右下角自己的應(yīng)用NFCap: