更新记录
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 识别页面(新增功能)
平台支持
安装方法
- 将插件复制到项目的
uni_modules
目录下
- 在 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();
}
注意事项
- 使用 NFC 功能需要在 Android 设备上启用 NFC
- 在 Android 平台上,需要在应用的
AndroidManifest.xml
中添加 NFC 相关权限
- 目前 iOS 平台暂不支持 NFC 功能
错误码说明
错误码 |
说明 |
9010001 |
NFC不支持:设备不支持NFC功能 |
9010002 |
NFC未启用:请在系统设置中启用NFC |
9010003 |
写入失败:无法写入NFC标签 |
9010004 |
读取失败:无法读取NFC标签 |
9010005 |
标签为空:NFC标签不包含数据 |
9010006 |
标签容量不足:NFC标签容量不足以存储数据 |
9010007 |
标签只读:NFC标签为只读,无法写入 |
9010008 |
未知错误:操作NFC标签时发生未知错误 |
开发文档
许可证
MIT