2014-11-07 4 views
3

phonegap-nfc 프로젝트 페이지의 지침에 따라 phonegap 프로젝트에 nfc 플러그인을 설치했습니다.
응용 프로그램을 시작할 때 Waiting for NDEF tag 경고가 표시됩니다. 그러나 NFC 카드를 휴대 전화로 두드리는 데 실패하면 NFC 소리가 들립니다 (this video에서 해당 소리를들을 수 있음). 나는 틀린 whats가 틀림없이 여기에서있다.Phonegap NFC가 작동하지 않습니다.

코드는 위의 첫 번째 링크에서 지시 한 것과 정확히 동일합니다. 간단히 말해서, 나뿐만 아니라 여기에 코드를 복사합니다 :
내하는 index.js는 작업의 종류가 매우 쉽기 때문에 플러그인은 쓰기/읽기 NDEF 태그를 허용

onDeviceReady: function() { 
    app.receivedEvent('deviceready'); 

    // Read NDEF formatted NFC Tags 
    nfc.addNdefListener (
     function (nfcEvent) { 
      var tag = nfcEvent.tag, 
       ndefMessage = tag.ndefMessage; 

      // dump the raw json of the message 
      // note: real code will need to decode 
      // the payload from each record 
      alert(JSON.stringify(ndefMessage)); 

      // assuming the first record in the message has 
      // a payload that can be converted to a string. 
      alert(nfc.bytesToString(ndefMessage[0].payload).substring(3)); 
     }, 
     function() { // success callback 
      alert("Waiting for NDEF tag"); 
     }, 
     function (error) { // error callback 
      alert("Error adding NDEF listener " + JSON.stringify(error)); 
     } 
    ); 
}, 
+0

NFC 카드가 실제로 NFC 카드이고 다른 종류의 NFC 카드가 아닌지 확인 하시겠습니까? – QuickFix

+0

@QuickFix 알기 위해 노력 하겠지만 NFC 플러그인은 모든 종류의 NFC 태그를 지원해야합니까? – Urban

+1

NDEF 수신기는 NDEF 태그 만 지원합니다. 다른 종류의 태그에는 nfc.addTagDiscoveredListener 함수가 있지만 태그 ID 만 검색 할 수 있습니다. 좀 더 복잡한 작업을 위해서는 원래 플러그인을 직접 만들어야했습니다. – QuickFix

답변

5

has-.

NFC 카드는 카드의 종류에 따라 특정 구조와 암호화를 따르는 것이 훨씬 더 복잡 할 수 있습니다. 때로는 카드에 명령을 내리고 복잡한 프로토콜을 따르는 응답을 기다려야합니다.

Mifare 클래식 카드의 경우 데이터를 읽을 수있는 키를 알아야합니다.

일반용 플러그인은 어떤 종류의 NFC 카드도 읽을 수 없습니다.

chariotsolutions 플러그인은 자신의 플러그인 시작을 할 수 있습니다, NDEF 태그에 대한 전체 액세스 할 수 있지만 더 많은 특정 작업을 수행하려면

(대신이 경우 사용 nfc.addTagDiscoveredListener에) 다른 카드의 태그 ID를 얻을 수 있습니다 이걸로.

당신이 또한 더 참조, 또는 this interesting doc from Motorola에 대한 the Google page about NFC을 확인할 수 있습니다 This app

를 사용할 수있는 카드의 종류를 확인하십시오.

관련 문제