nfc data exchange format (ndef) technical specification
时间: 2023-11-09 21:02:59 浏览: 51
NFC数据交换格式(NDEF)技术规范是一种用于在近场通信(NFC)中传输和交换数据的标准格式。NDEF技术规范定义了NFC标签或设备之间传输数据的格式、结构和编码方式。
NDEF消息由一个或多个记录组成,每个记录包含了特定的数据。每个记录都有一个类型字段、有效载荷字段和一些元数据字段。有效载荷字段可以包含多种类型的数据,例如文本、URL、图片、音频或其他自定义格式的数据。
NDEF技术规范还定义了一些基本的NDEF记录类型,例如文本记录、URI记录、Smart Poster记录和外部类型记录。这些记录类型提供了一种标准的方式来表示特定类型的数据,并确保与其他NFC设备的兼容性。
NDEF还提供了一些标准的NFC数据交换操作,例如读取和写入NDEF消息、检测和处理NDEF消息的大小、执行NDEF消息的写入和读取权限验证等。
NDEF技术规范还规定了NDEF消息在NFC标签或设备上的存储布局和传输方式。NDEF消息可以被存储在标签的存储器中,或者可以通过主动模式或被动模式在两个NFC设备之间传输。
总结来说,NFC数据交换格式(NDEF)技术规范是一种定义了在NFC中传输和交换数据的标准格式。它定义了NDEF消息的结构、记录类型和数据编码方式,并规定了NDEF消息的存储和传输方式。通过遵循NDEF技术规范,不同的NFC设备可以在数据交换时保持互操作性。
相关问题
书签型nfc 的 NDEF格式是什么
NDEF(NFC Data Exchange Format)是一种用于在NFC标签和读写器之间交换数据的标准格式。书签型NFC标签通常使用NDEF格式存储数据。
NDEF格式由多个NDEF记录组成,每个记录最多可容纳2^32 - 1字节的数据。每个NDEF记录都包含一个记录类型字段、一个数据长度字段和一个数据字段。记录类型字段指定了记录的类型,例如URL、文本、电话号码等。数据长度字段指定了数据字段的长度,数据字段包含实际的数据。
例如,一个存储URL的NDEF记录可能如下所示:
类型字段:0x01(表示URL类型)
数据长度字段:0x0C(表示数据字段长度为12字节)
数据字段:0x68 0x74 0x74 0x70 0x3A 0x2F 0x2F 0x77 0x77 0x77 0x2E 0x62 0x61(表示实际的URL为http://www.ba.com)
清单action android:name="android.nfc.action.NDEF_DISCOVERED怎么用
`android.nfc.action.NDEF_DISCOVERED` 是一种 NFC 技术规范,它指定了当系统检测到一个 NDEF 类型的标签或卡片被放置在 NFC 读写器附近时,应该启动哪个应用程序来处理这个标签或卡片。
要使用 `android.nfc.action.NDEF_DISCOVERED`,你需要在你的应用程序的清单文件中指定相应的 intent-filter。例如:
```
<activity android:name=".MyNFCActivity">
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
```
上面的代码片段中,`MyNFCActivity` 是你的应用程序中处理 NFC 数据的活动(Activity),`android.nfc.action.NDEF_DISCOVERED` 是指定的 intent-action,`android.intent.category.DEFAULT` 是指定的 intent-category,`text/plain` 是指定的数据类型。这个 intent-filter 的含义是,当系统检测到一个 NDEF 类型的标签或卡片被放置在 NFC 读写器附近时,并且这个标签或卡片中包含了文本数据,系统就会启动 `MyNFCActivity` 来处理这个数据。
在你的活动(Activity)中,你可以通过 `getIntent()` 方法获取传递给这个活动的 intent,然后通过 `getParcelableExtra(NfcAdapter.EXTRA_TAG)` 方法获取标签或卡片的实例,然后读取标签或卡片中的数据。
需要注意的是,`android.nfc.action.NDEF_DISCOVERED` 只是一种 NFC 数据处理方式,你还可以使用其他的 intent-action 和 intent-filter 来处理其他类型的 NFC 数据。同时,不同的 NFC 标签或卡片可能有不同的数据格式和读取方式,因此在处理 NFC 数据时需要先了解相关的技术规范和数据格式。