现在越来越多的手机支持NFC功能。这种简单、安全、快速通信的无线连接技术,可以让我们的手机取代门禁卡、公交卡、银行卡,甚至车钥匙。那么如何才能在APP中调用这个功能呢?边肖今天会教你!
注意:
插件的所有接口在deviceready事件之后生效;目前苹果的CoreNFC对NFC格式的支持有限,暂时只支持NDEF格式。1.NFC支持的最低硬件是iPhone7或iPhone7Plus,支持的最低系统是iOS112。需要打开一个会话,和其他会话差不多,同一时间只能打开一个。3.App需要完全处于前台模式,iPhoneX之后的机型,支持后台阅读。4.每个会话最多扫描60s,超时后需要重新打开新的会话。5.配置为读取单个或多个标签。当配置为单个标签时,当读取第一个标签时,会话将自动结束。
首先注册登录中控易——为APP提供一站式SaaS服务,点击右上方的'控制台'-'应用项目'或'免费试用',创建并完成进入应用,然后添加NFC插件。
1.NDEF注册为任何NDEF标签注册一个事件监听器。
nfc.addNdefListener(callback, onSuccess, onFailure)
支持平台:
Android参数描述
OnSuccess函数没有返回。
onFailure函数返回一个指示错误消息的字符串。
示例代码//侦听“DeviceReady”事件文档。AddEventListener ('DeviceReady ',ondeviseReady,false)函数ondeviseReady(){ NFC . addndeflilistener(Function(NFC Event){ var tag=NFC Event . tag;alert(JSON . stringify(NFC event . tag));alert(NFC . bytestohexstring(tag . id));},function(on success){ alert(on success);},函数(错误){ alert(错误);} );}
2.NDEF删除之前注册的事件监听器,该监听器删除了通过nfc添加的NDEF标签
nfc.removeNdefListener(callback, onSuccess, onFailure)
支持平台:
Android参数描述
OnSuccess函数没有返回。
OnFailure函数没有返回。
示例//收听“deviceReady”事件文档。AddEventListener ('deviceReady ',ondeviseready,false)函数ondeviseready(){ NFC . removedflistener(Function(NFC event){ var tag=NFC event . tag;alert(JSON . stringify(NFC event . tag));},function(on success){ alert(on success);},function(on failure){ alert(on failure);} );}返回数据以响应示例代码回调:
{ 'type':'NDEF推送协议',' maxSize':'1 ',' ndefMessage': { 'tnf':1,' type': 1,2,' id': 1,
3, 1 >, "payload":< > } >}3.侦听器注册注意
在Android上,addTagDiscoveredListener扫描非NDEF标签和NDEF标签。即使标签上有NDEF消息,标签事件也不包含ndefMessage。使用addNdefListener或addMimeTypeListener获取NDEF信息;为匹配任何标签类型的标签注册事件侦听器
nfc.addTagDiscoveredListener(callback,onSuccess, onFailure)
支持平台:
Android参数说明
onSuccess函数返回一个字符串OK;
onFailure函数返回一个字符串,表示错误信息
示例代码// 监听’deviceready‘事件document.addEventListener('deviceready', onDeviceReady, false)function onDeviceReady(){ nfc.addTagDiscoveredListener( function(nfcEvent){ var tag = nfcEvent.tag; alert(JSON.stringify(nfcEvent.tag)); alert(nfc.bytesToHexString(tag.id)); }, function(onSuccess) { alert(onSuccess); }, function(onFailure) { alert(onFailure); } );}响应示例代码:
"OK"
4.侦听器删除删除通过nfc.addTagDiscoveredListener添加的以前注册的事件侦听器
nfc.removeTagDiscoveredListener(callback, onSuccess, onFailure)
支持平台:
Android参数说明
onSuccess函数返回一个字符串OK;
onFailure函数返回一个字符串,表示错误信息
示例代码// 监听’deviceready‘事件document.addEventListener('deviceready', onDeviceReady, false)function onDeviceReady(){ function callback(nfcEvent){ var tag = nfcEvent.tag; alert(JSON.stringify(nfcEvent.tag)); alert(nfc.bytesToHexString(tag.id)); } nfc.removeTagDiscoveredListener( callback, function(onSuccess) { alert(JSON.stringify(onSuccess)); }, function(error) { alert(error); });}响应示例代码:
"OK"
5.NFC设置在设备上显示NFC设置
nfc.showSettings(success,failure)
支持平台:
Android参数说明
success函数返回一个字符串OK;
failure函数返回一个字符串错误信息
示例代码// 监听’deviceready‘事件document.addEventListener('deviceready', onDeviceReady, false)function onDeviceReady(){ nfc.showSettings(function(success){ alert(success); },function(failure){ alert(failure); });}响应示例代码:
"OK"
6.将NDEF消息写入NFC标签注意
在Android上,必须从NDEF事件处理程序中调用此方法。在iOS上,应在NDEF事件处理程序外部调用此方法,它将启动新的扫描会话。NDEF消息是一个或多个NDEF记录的数组
nfc.write(ndefMessage,success,failure)
支持平台:
Android参数说明
success函数返回一个字符串OK;
failure函数返回一个字符串错误信息
示例代码// 监听’deviceready‘事件document.addEventListener('deviceready', onDeviceReady, false)function onDeviceReady(){ var message = < ndef.textRecord("hello, world"), ndef.uriRecord("http://github.com/chariotsolutions/phonegap-nfc") >; nfc.write(message,function(success){ alert(success); },function(failure){ alert(failure); });}响应示例代码:
"OK"点击中控易动―提供APP一站式SaaS服务马上试试吧