更新记录

1.0.0

支持NFC读取 安卓原生插件


平台兼容性

云端兼容性

阿里云 腾讯云 支付宝云

uni-app(4.62)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× × × × × 7.0 × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × ×

uni-app x(4.64)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

NFC API 插件

简介

NFC API 插件是一个用于在 UniAppX 应用中使用 NFC 功能的 UTS 插件。它提供了简单易用的 API,让您能够在应用中读取和写入 NFC 标签。

功能特性

  • 检查设备是否支持 NFC 以及 NFC 是否已启用
  • 启用/禁用 NFC 前台调度
  • 读取 NFC 标签内容和标签 ID
  • 向 NFC 标签写入文本数据
  • 打开自定义 NFC 识别页面(新增功能)

平台支持

  • Android:完全支持
  • iOS:暂不支持

安装方法

  1. 将插件复制到项目的 uni_modules 目录下
  2. 在 HBuilderX 中重新导入项目

使用方法

1. 检查 NFC 是否可用

import { checkNfcAvailable } from '@/uni_modules/nfc-api';

const result = checkNfcAvailable();
console.log(`NFC支持: ${result.isSupported}, NFC启用: ${result.isEnabled}`);

2. 启用和禁用 NFC 前台调度

import { enableNfcForegroundDispatch, disableNfcForegroundDispatch } from '@/uni_modules/nfc-api';

// 在页面显示时启用 NFC 检测
onShow(() => {
  enableNfcForegroundDispatch();
});

// 在页面隐藏时禁用 NFC 检测
onHide(() => {
  disableNfcForegroundDispatch();
});

3. 处理 NFC 标签

import { processNfcIntent } from '@/uni_modules/nfc-api';

// 在页面的 onNewIntent 生命周期中处理 NFC 标签
onNewIntent((e: any) => {
  const result = processNfcIntent(e.intent);
  console.log(`读取内容: ${result.content}, 标签ID: ${result.tagId}`);
});

4. 写入 NFC 标签

import { writeNfcTag } from '@/uni_modules/nfc-api';

// 在检测到 NFC 标签时写入数据
onNewIntent((e: any) => {
  writeNfcTag({
    text: "Hello NFC!",
    success: (res) => {
      console.log("写入成功!");
    },
    fail: (err) => {
      console.error(`写入失败: ${err.errMsg}`);
    }
  });
});

5. 打开 NFC 识别页面

import { openNfcActivity } from '@/uni_modules/nfc-api';

// 打开自定义 NFC 识别页面
function openNfcPage() {
  openNfcActivity();
}

注意事项

  1. 使用 NFC 功能需要在 Android 设备上启用 NFC
  2. 在 Android 平台上,需要在应用的 AndroidManifest.xml 中添加 NFC 相关权限
  3. 目前 iOS 平台暂不支持 NFC 功能

错误码说明

错误码 说明
9010001 NFC不支持:设备不支持NFC功能
9010002 NFC未启用:请在系统设置中启用NFC
9010003 写入失败:无法写入NFC标签
9010004 读取失败:无法读取NFC标签
9010005 标签为空:NFC标签不包含数据
9010006 标签容量不足:NFC标签容量不足以存储数据
9010007 标签只读:NFC标签为只读,无法写入
9010008 未知错误:操作NFC标签时发生未知错误

开发文档

许可证

MIT

隐私、权限声明

1. 本插件需要申请的系统权限列表:

android.permission.NFC android.hardware.nfc android.permission.VIBRATE

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

获取nfc卡片的内容

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问