NFC是Near Field Communication的缩写,也就是近场通信,是一种短距离数据传输技术,该功能相对于传统的蓝牙以及红外等数据传输功能各有利弊,是目前主流的近距离通信技术之一。NFC 提供了一种简单、触控式的解决方案,可以让手机用户简单直观地交换信息、访问内容与服务。
1、配置nfc的使用权限:
<uses-permission android:name="android.permission.NFC"/>
<uses-feature android:name="android.hardware.nfc" android:required="true" />
//设置MainActivity的启动方式
android:launchMode="SingleTop"
2、Nfc有三层的过滤机制:
1、ACTION_NDEF_DISCOVERED
2、ACTION_TECH_DISCOVERED
3、ACTION_TAG_DISCOVERED
Android按顺序匹配三层过滤机制的流程如下:
声明过滤机制:
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tech" />
</activity>
使用TECH_DISCOVERED的过滤规则需先在/res/xml下面创建一个过滤规则文件,这个里面定义的是nfc实现的各种标准,每一个nfc卡都会符合多个不同的标准。
以下是在nfc_tech.xml定义的多种检测标准:
<tech-list>
<tech>android.nfc.tech.MifareClassic</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.MifareUltralight</tech>
</tech-list>
<tech-list>