2016-09-11 1 views
2

PhoneGap-NFC 플러그인 Intel XDK에 문제가 있습니다. nfcEvent발생시 PhoneGap-NFC 기능 루핑

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'); } }); } 

nfc.addTagDiscoveredListener

기능은 NFC 태그를 읽기 위해 사용된다.
첫 번째 읽기에서는 정상적으로 작동하지만 두 번째 읽기를 수행하면 nfc.addTagDiscoveredListener 함수가 두 번 적용되고 세 번째 읽기는 세 번 적용됩니다.
이 기능을 "중지"하는 유일한 방법은 location.reload();하지만 그는 응용 프로그램 홈 페이지로 돌아가고 서브 페이지를 활성화하는 것이 이상적입니다.
nfc.addTagDiscoveredListenernova_pulseira_input (cli_nova_id, TagID)을 적용한 후에 기능을 사용할 수 없게됩니다. 기능.
PS : 사용했습니다
-> false를 반환합니다.
-> $ .each (Nfc, function() {this.reset();});
-> Intel.xdk.cache.clearAllCookies();
-> $ .ajaxSetup ({Cache : false}); 모두의 도움을

감사합니다 ...

+0

는 당신이 생성하는 간단한 이벤트 처리기를 만들 추천 console.log() 메시지를 수신하고 수신 한 오브젝트 정보를 인쇄합니다. 경고를 사용하여 문제를 디버깅하지 마십시오. 경고는 정상적인 처리를 방해하고 문제를 진단하기 어려울 수 있습니다. – xmnboy

답변

0

var에 내부 기능을 넣고 나중에 다시 정의 :

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

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

 
tag(); 
 
tag();