ReadNFC 函数
适用于: 画布应用
读取近场通信 (NFC) 标记。
Description
使用 ReadNFC 函数读取靠近您的设备的 NFC 标记。 调用时,屏幕会显示扫描 NFC 标记的说明,仅在标记被扫描或超时后会返回。
列 | 类型 | 说明 |
---|---|---|
标识符 | 文本 | NFC 标记标识符(如果有)。 |
NDEFRecords | 表 | 标记上找到支持的 NDEF 记录。 |
单个 NDEFRecord 包含以下列:
列 | 类型 | 说明 |
---|---|---|
RTD | 文本 | 标记的记录类型定义 (RTD)。 目前仅支持文本和 URI。 |
TNF | 数字 | 标记的类型名称格式 (TNF)。 目前仅支持已知(1)的 TNF。 |
文本 | 文本 | 如果 RTD 为文本,则为 NFC 标记的文本有效负载,否则为空白。 |
URI | 超链接 | 如果 RTD 为 URI,则为 NFC 标记的 URI 有效负载,否则为空白。 |
如果不支持 NDEF 记录(例如,TNF 不是已知类型),它不会作为 NDEFRecords 表的一部分返回。
在使用之前,请务必使用 IsBlank 函数检查空白的有效负载值。 您不需要自己检查 RTD 和 TNF 值,因为它们必须是正确的文本和 URI 值才能具有非空白值。
将来可能会支持其他 RTD 和 TNF 值。 如果支持更多值,还将添加其他有效负载列。 原始 RTD 和 TNF 值仅供参考,如果检查出有效负载列为空白,则不需要查阅这些值。 NFC 论坛提供了有关这些值及其使用的更多信息。
ReadNFC 不需要使用包含 NDEF 记录的标签,但您仍然可以获取标签标识符(如果可用)。
ReadNFC 只能在行为公式中使用。
备注
语法
读取 NFC()
示例
公式 | 说明 | 结果 |
---|---|---|
ReadNFC().Identifier |
如果存在,将返回 NFC 标记的标识符。 | 04A1C301314003 |
ReadNFC().NDEFRecords |
如果是受支持的类型和有效负载,将返回在 NFC 标记上找到的 NDEF 记录表。 |
分步示例
使用电话格式创建空白画布应用。
添加 Button 控件。
双击 Button 控件,将按钮文本更改为 Read NFC Tag(或修改 Text 属性)。
将 Button 控件的 OnSelect 属性设置为此公式,来将一个项添加到我们的集合中:
With(ReadNFC(), Set(id, Coalesce(Identifier, "No ID")); ForAll(NDEFRecords, Collect(tagRecords, {ID: id, Value: Coalesce(Text, URI)})))
此公式使用
ReadNFC()
函数读取 NFC 标记,并显示有关结果的类型信息。 然后它会收集读取的 NFC 标记来填充tagRecords
集合,以在接下来的步骤中用于库。添加具有垂直布局的 Gallery 控件。
出现提示时,选择 tagRecords 集合作为此库的数据源。 此操作将设置 Gallery 控件的 Items 属性。
重新定位 gallery 控件,让它不与按钮重叠,并将布局类型更改为标题和副标题。
将 gallery 控件中的 Title 公式更改为 ThisItem.Value,将 gallery 控件中的 Subtitle 公式更改为 ThisItem.ID。
您也可以从 gallery 控件中删除 NextArrow,因为它未被使用。
保存并发布 应用程序。
由于函数
ReadNFC()
不能在 Power Apps Studio 或 Web 浏览器中使用,请在移动设备上打开您的应用。小费
应用可能需要一些时间显示在您的移动设备上。 如果您没有看到列出的应用,请尝试刷新您的应用列表。
选择读取 NFC 标记,扫描一个标记。 重复此过程将多个标记添加到集合中。