easyNFC

来自于:开发者

概述

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

模块接口

isSupported

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

isSupported()

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

startRead

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

startRead(callback(ret, err))

callback(ret, err)

ret:

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

当读取成功时

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

err:

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

当读取失败时

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

示例代码

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

可用性

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 对象
  • 内部字段:

当写入成功时

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

err:

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

当写入失败时

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

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

stop

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

stop()

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本