• Android Video Tutorials

Android - NFC 指南



NFC 代表 **近场通信**,顾名思义,它在两个兼容设备之间提供了一种无线通信机制。NFC 是一种短距离无线技术,两个设备之间共享数据的范围为 4 厘米或更短。

工作原理

与蓝牙和 WiFi 以及所有其他类型的无线信号一样,NFC 基于通过无线电波发送信息的原理。通过 NFC,数据通过两个设备之间的电磁感应发送。

NFC 基于标签工作,它允许您在 NFC 标签和 Android 设备之间或两个 Android 设备之间共享一定数量的数据。标签具有各种复杂性。存储在标签中的数据可以用多种格式写入,但 Android API 基于称为 **NFC 数据交换格式 (NDEF)** 的 NFC 标准。

NFC 数据传输频率为 13.56 兆赫,数据传输速度可以为 106、212 或 424 千比特/秒,这对于从联系方式到交换图片、歌曲和视频等各种数据传输来说足够快。

支持 NFC 的 Android 设备支持以下三种主要操作模式:

三种操作模式

  • **读卡器/写入器模式** - 它允许 NFC 设备读取或写入无源 NFC 标签。

  • **P2P 模式** - 此模式允许 NFC 设备与其他 NFC 对等设备交换数据。

  • **卡模拟模式** - 它允许 NFC 设备本身充当 NFC 卡,因此可以由外部 NFC 读卡器访问。

它如何与 Android 协同工作

要获得访问 NFC 硬件的权限,请在您的 Android.Manifest 文件中添加以下权限。

<uses-sdk android:minSdkVersion="10"/>

首先要注意的是,并非所有 Android 设备都提供 NFC 技术。因此,为了确保您的应用程序仅在具有 NFC 硬件的设备的 Google Play 上显示,请在您的 **Android.Manifest** 文件中添加以下行。

<uses-feature android:name="android.hardware.nfc" android:required="true"/>

Android 提供了一个 android.nfc 包用于与其他设备通信。此包包含以下类:

序号 类和描述
1

NdefMessage

它表示一个不可变的 NDEF 消息。

2

NdefRecord

它表示一个不可变的 NDEF 记录。

3

NfcAdapter

它表示本地 NFC 适配器。

4

NfcEvent

它封装了与任何 NFC 事件相关的信息。

5

NfcManager

它是一个高级管理器,用于获取 NfcAdapter 的实例。

6

Tag

它表示已发现的 NFC 标签。

NFC 标签系统在 Android 中借助以下列出的某些意图过滤器工作

序号 过滤器和功能
1

ACTION_NDEF_DISCOVERED

此意图用于在标签包含 NDEF 有效负载时启动活动。

2

ACTION_TECH_DISCOVERED

如果标签不包含 NDEF 数据,但属于已知技术,则此意图用于启动活动。

3

ACTION_TAG_DISCOVERED

如果没有任何活动处理 ACTION_NDEF_DISCOVERED 或 ACTION_TECH_DISCOVERED 意图,则会启动此意图。

编写使用 NFC 技术的应用程序很复杂,因此除非必要,否则不要在您的应用程序中使用它。NFC 在设备中的使用并不常见,但它正在变得越来越流行。让我们看看这项技术的未来:

未来应用

随着这项技术的日益发展,以及非接触式支付系统的推出,这项技术正在蓬勃发展。在美国已经推出了一项名为 **Google Wallet** 的服务,其目的是使我们的智能手机成为信用卡和交通卡的可行替代方案。

广告