easyNFC

来自于:开发者

isSupported startRead startWrite stop

概述

easyNFC 封装对安卓下对NFC标签中标准NDEF格式的数据读写,对不支持NDEF的其他MifareClassic标签可以取出其ID 本模块仅支持标准NDEF格式信息的读写,无法读写银行卡、身份证等不支持NDEF格式或加密的标签 本模块由第三方模块开发者提供,使用本模块需在线云编译安装包

模块接口

isSupported

检测设备是否支持NFC 同步回调数字结果,返回1表示设备不支持NFC,2表示支持NFC但系统设置未开启,3表示NFC可用

isSupported()

示例代码

  1. var easyNFC = api.require('easyNFC');
  2. var isSupported = easyNFC.isSupported();
  3. if(isSupported==1){
  4. alert('您的设备不支持NFC');
  5. }else if(isSupported==2){
  6. alert('请在系统设置中开启NFC');
  7. }else{
  8. alert('NFC可用');
  9. }

可用性

Android系统

可提供的1.0.0及更高版本

startRead

开始读NFC标签,等待NFC标签靠近手机,靠近手机后自动开始读取,读取信息完成后异步返回结果 成功返回读得的内容、NFC标签的ID,失败返回失败原因、NFC标签的ID (因此对于非NDEF格式的其他MifareClassic标签也可以取出ID)

startRead(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:

当读取成功时

  1. {
  2. code:0, //状态类型 0-读取成功
  3. data:'你好,NFC!', //取得的标签内容
  4. id:'3BA5F914' //取得NFC标签的ID
  5. }

err:

  • 类型:JSON 对象
  • 内部字段:

当读取失败时

  1. {
  2. code:3, //事件类型 1-设备不支持NFC 2-NFC未开启 3-未发现标准NDEF消息,标签为空或不支持
  3. message:'未发现标准NDEF消息,标签为空或不支持', //错误提示文本
  4. id:'3BA5F914' //错误同样能取得NFC标签的ID
  5. }

示例代码

  1. var easyNFC = api.require('easyNFC');
  2. easyNFC.startRead(function(ret,err){
  3. if(ret.code!=null){
  4. alert("读取成功!NFC标签ID:"+ret.id+"\n读得内容:"+ret.data);
  5. }else{
  6. alert("读取失败!NFC标签ID:"+err.id+"\n错误信息:"+err.message);
  7. }
  8. });

可用性

Android系统

可提供的1.0.0及更高版本

startWrite

开始写NFC标签,等待NFC标签靠近手机,靠近手机后自动开始写入,写入数据完成后异步返回结果 成功返回成功信息、NFC标签的ID,失败返回失败原因、NFC标签的ID

startWrite({params},callback(ret, err))

params

text:

  • 类型:字符串
  • 默认值:无
  • 描述:要写入NFC标签的文本,如“你好,NFC!”

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:

当写入成功时

  1. {
  2. code:0, //状态类型 0-写入成功
  3. message:'写入成功', //成功提示
  4. id:'3BA5F914' //取得NFC标签的ID
  5. }

err:

  • 类型:JSON 对象
  • 内部字段:

当写入失败时

  1. {
  2. code:3, //事件类型 1-设备不支持NFC 2-NFC未开启 3-写入数据无效 4-标签不允许被写入 5-写入信息超出容量 6-格式化标签失败 7-标签不支持NDEF 8-写入失败(未知错误)
  3. message:'写入数据无效', //错误提示文本
  4. id:'3BA5F914' //错误同样能取得NFC标签的ID
  5. }

示例代码

  1. var easyNFC = api.require('easyNFC');
  2. easyNFC.startWrite({text:"你好,NFC!"},function(ret,err){
  3. if(ret.code!=null){
  4. alert("写入成功!NFC标签ID:"+ret.id);
  5. }else{
  6. alert("写入失败!NFC标签ID:"+err.id+"\n错误信息:"+err.message);
  7. }
  8. });

可用性

Android系统

可提供的1.0.0及更高版本

stop

停止所有读写操作。调用该方法后,由startRead和startWrite初始的读写都将被停止,不再等待NFC标签靠近手机

stop()

示例代码

  1. var easyNFC = api.require('easyNFC');
  2. easyNFC.stop();

可用性

Android系统

可提供的1.0.0及更高版本