龙空技术网

干货|6招学会调用NFC的各个功能

中控易动 344

前言:

现在朋友们对“successfunction”大约比较着重,咱们都需要剖析一些“successfunction”的相关知识。那么小编同时在网络上网罗了一些有关“successfunction””的相关文章,希望我们能喜欢,小伙伴们快快来学习一下吧!

现在越来越多的手机支持NFC功能,这种轻松、安全、迅速的通信的无线连接技术,能够让我们的手机替代门禁卡、公交卡、银行卡甚至是车钥匙,那么怎么让APP中能够调用这个功能呢?今天小编就来教给大家!

注意:

插件的所有接口在 deviceready 事件后生效;目前,苹果的CoreNFCNFC的格式支持有限,暂时仅支持NDEF格式1.NFC最低支持硬件iPhone7或者iPhone7Plus,最低支持系统为iOS112.需要开启一个session,与其他session类似,同时只能开启一个3.需要App完全在前台模式,iPhoneX之后机型,支持后台读取4.每个session最多扫描60s,超时需再次开启新session5.配置读取单个或多个Tag,配置为单个时,会在读取到第一个Tag时自动结束session

首先,注册并登录中控易动—提供APP一站式SaaS服务,点击右上方"控制台"-"应用项目"或"免费试用",创建完成进入应用,然后添加NFC插件

1.NDEF注册

为任何NDEF标签注册一个事件监听器

nfc.addNdefListener(callback, onSuccess, onFailure)

支持平台:

Android参数说明

onSuccess函数没有返回

onFailure函数会返回一个字符串,表示错误信息

示例代码

// 监听’deviceready‘事件document.addEventListener('deviceready', onDeviceReady, false)function onDeviceReady(){    nfc.addNdefListener(    function(nfcEvent){    var tag = nfcEvent.tag;    alert(JSON.stringify(nfcEvent.tag));     alert(nfc.bytesToHexString(tag.id));    },    function(onSuccess) {    alert(onSuccess);    },    function(error) {    alert(error);    }    );}

2.NDEF删除

移除通过nfc.addNdefListener添加的NDEF标签的以前注册的事件侦听器

nfc.removeNdefListener(callback, onSuccess, onFailure)

支持平台:

Android参数说明

onSuccess函数没有返回

onFailure函数没有返回

示例代码

// 监听’deviceready‘事件document.addEventListener('deviceready', onDeviceReady, false)function onDeviceReady(){    nfc.removeNdefListener(    function(nfcEvent){    var tag = nfcEvent.tag;    alert(JSON.stringify(nfcEvent.tag));    },    function(onSuccess) {    alert(onSuccess);    },    function(onFailure) {    alert(onFailure);    }    );}

响应示例代码callback的返回数据:

{    "type":"NDEF Push Protocol",    "maxSize":"1",    "ndefMessage":[        {            "tnf":1,            "type":[                1,                2            ],            "id":[                1,                3,                1            ],            "payload":[            ]        }    ]}

3.侦听器注册

注意

Android上,addTagDiscoveredListener扫描非NDEF标签和NDEF标签。即使标签上有NDEF消息,标签事件也不包含ndefMessage。使用addNdefListeneraddMimeTypeListener获取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(";)      ];    nfc.write(message,function(success){    alert(success);    },function(failure){    alert(failure);    });}

响应示例代码:

"OK"

点击中控易动—提供APP一站式SaaS服务马上试试吧

标签: #successfunction