Android - NFC 指南
NFC 代表Near Field Communication,顾名思义,它提供了两个兼容设备之间的无线通信机制。 NFC 是一种短距离无线技术,具有 4 厘米或更小的范围,供两个设备共享数据。
工作原理
与蓝牙和 WiFi 以及各种其他无线信号一样,NFC 的工作原理是通过无线电波发送信息。 通过 NFC 数据通过两个设备之间的电磁感应发送。
NFC 在标签的基础上工作,它允许您在 NFC 标签和安卓设备之间或两个安卓设备之间共享一些数据。 标签具有各种复杂性。 存储在标签中的数据可以以多种格式写入,但 android API 基于称为 NFC 数据交换格式 (NDEF) 的 NFC 标准。
通过 NFC 的数据传输频率为 13.56 兆赫,数据可以以每秒 106、212 或 424 千比特的速度发送,这对于从联系人详细信息到交换图片、歌曲和视频的一系列数据传输来说足够快。
带有 NFC 的 Android 设备支持以下三种主要操作模式 −
三种操作模式
Reader/Writer 模式 − 它允许 NFC 设备读取或写入无源 NFC 标签。
P2P 模式 − 此模式允许 NFC 设备与其他 NFC 对等方交换数据。
Card emulation 模式 − 它允许 NFC 设备本身充当 NFC 卡,因此可以通过外部 NFC 读卡器访问。
如何与 Android 配合使用
要获得访问 NFC 硬件的权限,请在您的 Android.Manifest 文件中添加以下权限。
<uses-sdk android:minSdkVersion="10"/>
首先要注意的是,并非所有安卓设备都提供 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 负载时,此意图用于启动 Activity。 |
2 |
ACTION_TECH_DISCOVERED 如果标签不包含 NDEF 数据,但具有已知技术,则此意图用于启动活动。 |
3 |
ACTION_TAG_DISCOVERED 如果没有活动处理 ACTION_NDEF_DISCOVERED 或 ACTION_TECH_DISCOVERED Intent,则启动此 Intent。 |
编写使用 NFC 技术的应用程序很复杂,因此除非必要,否则不要在您的应用程序中使用它。 NFC 的使用在设备中并不常见,但它正变得越来越流行。 让我们看看这项技术的未来是什么 −
未来的应用
随着这项技术的日益发展,并且由于引入了非接触式支付系统,这项技术正在蓬勃发展。 一项名为 Google Wallet 的服务已在美国推出,其目的是让我们的智能手机成为信用卡和交通卡的可行替代品。