Android 简明教程

Android - NFC Guide

NFC 是 Near Field Communication 的缩写,顾名思义,它提供了在两种兼容设备之间进行无线通信的机制。NFC 是一种短程无线技术,通信范围为 4 厘米或更短,用于两种设备共享数据。

How It Works

与蓝牙和 WiFi 等其他无线信号一样,NFC 也是基于通过无线电波发送信息的原理起作用的。通过 NFC,数据通过电子感应方式在两个设备间得以发送。

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

NFC 跨数据传输的频率为 13.56 MHz,数据发送速率为 106、212 或 424 千比特每秒,足以进行一系列数据传输,从联系人信息到交换图片、歌曲和视频。

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

Three Modes of Operation

  1. Reader/Writer Mode − 它允许 NFC 设备读写 NFC 无源标签。

  2. P2P mode − 此模式允许 NFC 设备与其他 NFC 对等设备交换数据。

  3. Card emulation mode − 它允许 NFC 设备本身充当 NFC 卡,因此外部 NFC 读卡器可以访问它。

How it works with Android

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

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

首先要注意的是,并非所有 Android 驱动设备都提供 NFC 技术。因此,为了确保你的应用仅对有 NFC 硬件的设备在谷歌应用商店中显示,请在你的 Android.Manifest 文件中添加以下行。

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

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

Sr.No

Classes & Description

1

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

2

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

3

NfcAdapter 它表示本地 NFC 适配器。

4

NfcEvent 它包装与任何 NFC 事件相关的信息。

5

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

6

Tag 它表示已发现的 NFC 标签。

NFC 标签系统在 Android 中使用以下一些意图过滤器来工作:

Sr.No

Filters & Features

1

ACTION_NDEF_DISCOVERED 该意图用于在一个标签包含 NDEF 负载时启动一个活动。

2

ACTION_TECH_DISCOVERED 该意图用于在该标签不包含 NDEF 数据,但却是已知技术时启动一个活动。

3

ACTION_TAG_DISCOVERED 如果没有任何活动处理 ACTION_NDEF_DISCOVERED 或 ACTION_TECH_DISCOVERED 意图,就会启动该意图。

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

Future Applications

随着这项技术日益发展,以及非接触式支付系统的引入,这项技术正得到蓬勃发展。一项称为 Google Wallet 的服务已经在美国推出,其目的是将我们的智能手机打造成信用卡和交通卡的可行替代品。