美文网首页安卓NFC开发
2.安卓NFC开发-让自己的app进入系统的候选列表

2.安卓NFC开发-让自己的app进入系统的候选列表

作者: TensorFlow开发者 | 来源:发表于2019-02-16 03:43 被阅读0次

场景

在NFC开发过程中,当把公交卡、银行卡、身份证等卡片靠近自己手机时,如何让自己的app像支付宝、京东、QQ及其他银行app一样,展示出自己的app?说白了就是如何让自己的app进入系统的候选列表?


如何让自己的app进入系统的候选列表?

解决方案

如何让自己的app进入系统的候选列表?为此需要有以下3步操作:

1.权限配置
<!-- NFC读取权限 -->
<uses-permission android:name="android.permission.NFC"/>

<!-- 要求当前设备必须要有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类型可以不用这么多,可以根据实际情况,配置你所需要支持的类型即可。我这里是自己开发的Demo,为了方便各种都支持识别。

经过以上3点配置,就可以让自己的app进入系统的候选列表了。右下角自己的应用NFCap:


自己的应用NFCap已进入候选列表了

相关文章

网友评论

    本文标题:2.安卓NFC开发-让自己的app进入系统的候选列表

    本文链接:https://www.haomeiwen.com/subject/rznveqtx.html