循环使用PhoneGap-NFC功能

时间:2016-09-11 03:03:58

标签: javascript cordova phonegap-plugins intel-xdk

我在PhoneGap-NFC插件英特尔XDK功能方面遇到了问题。

function nova_pulseira(cli_nova_id) {
    nfc.addTagDiscoveredListener(function (nfcEvent) {
        var tag = nfcEvent.tag;
        var = TagID nfc.bytesToHexString(tag.id);

        if(TagID! == 0) {
            nova_pulseira_input(cli_nova_id, TagID);
        } else {
            myApp.alert( 'error in reading the bracelet.' 'Notice');
        }
    });
}

发生 nfcEvent 时, nfc.addTagDiscoveredListener 功能用于读取NFC标签。
在第一次阅读时它正常工作,但是当进行第二次读数时, nfc.addTagDiscoveredListener 功能被应用两次,第三次读取,应用3次,依此类推。
我找到的唯一方法是停止"此函数使用 location.reload(); 但他返回到应用程序主页,理想情况是激活子页面。
不知怎的,我会在应用 nova_pulseira_input(cli_nova_id,TagID); 功能后禁用 nfc.addTagDiscoveredListener 功能。
PS:我已经用过了 - >返回false;
- > $ .each(Nfc,function(){this.reset();});
- > Intel.xdk.cache.clearAllCookies();
- > $ .ajaxSetup({Cache:false});

感谢所有人的帮助...

1 个答案:

答案 0 :(得分:0)

将函数放在var中并稍后重新定义:

var tagHandler = function () {
        handlerOk();
	};
    
function handlerOk () {
  console.log("handlerOk()");
  tagHandler = function() {
  	console.log("disabled..")
  };
}

function tag() {
    console.log("tag()");
    tagHandler();
}

tag();
tag();