📜  Android-NFC指南

📅  最后修改于: 2021-01-05 05:25:16             🧑  作者: Mango


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

怎么运行的

与蓝牙和WiFi以及其他各种无线信号一样,NFC的工作原理是通过无线电波发送信息。通过NFC,数据通过两个设备之间的电磁感应发送。

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

NFC上数据的传输频率为13.56兆赫,并且可以每秒106、212或424 kb的速度发送数据,这对于从联系人详细信息到交换图片,歌曲和视频的一系列数据传输来说足够快。

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

三种操作模式

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

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

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

如何与Android搭配使用

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


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


Android提供了android.nfc包,用于与其他设备进行通信。该软件包包含以下类-

Sr.No Classes & Description
1

NdefMessage

It represents an immutable NDEF Message.

2

NdefRecord

It represents an immutable NDEF Record.

3

NfcAdapter

It represents the local NFC adapter.

4

NfcEvent

It wraps information associated with any NFC event.

5

NfcManager

It is a high level manager used to obtain an instance of an NfcAdapter.

6

Tag

It represents an NFC tag that has been discovered.

NFC标签系统可在以下列出的一些意图过滤器的帮助下在android中工作:

Sr.No Filters & Features
1

ACTION_NDEF_DISCOVERED

This intent is used to start an Activity when a tag contains an NDEF payload.

2

ACTION_TECH_DISCOVERED

This intent is used to start an activity if the tag does not contain NDEF data, but is of known technology.

3

ACTION_TAG_DISCOVERED

This intent is started if no activities handle the ACTION_NDEF_DISCOVERED or ACTION_TECH_DISCOVERED intents.

对使用NFC技术的应用程序进行编码很复杂,因此除非必要,请勿在您的应用程序中使用它。 NFC在设备中并不常见,但越来越流行。让我们看看这项技术的未来-

未来的应用

随着这项技术的日新月异,以及由于引入了非接触式支付系统,这项技术正在蓬勃发展。美国已经引入了一项称为Google Wallet的服务,目的是使我们的智能手机成为信用卡和交通卡的可行替代品。