2014-04-14 3 views
0

나는 chariotsolutions에서 phonegap-nfc 플러그인을 사용합니다. 앱이 실행되는 동안 NFC 태그를 읽는 것은 아무런 문제가되지 않습니다. 인 텐트 용 앱을 등록 했으므로 앱이 백그라운드에서 태그가 읽혀질 때 시작됩니다. 그러나 NdefListener는 실행되지 않습니다. 누군가가 앱이 의도에 의해 시작될 때 태그 정보를 얻는 방법을 알고 있습니까?chariotsolutions phonegap-nfc 플러그인 의도

답변

0

mime type listener을 추가해야 응용 프로그램이 시작될 때 의도에 의해 실행 된 nfcEvent를 가져올 수 있습니다.

NDEF 수신기에 사용하는 것과 동일한 이벤트 핸들러를 사용할 수 있습니다. 이벤트 유형을 제외하고 모두 동일합니다. MIME 형식을 지정할 필요가 없습니다.

nfc.addMimeTypeListener("", app.onNfc, success, failure);

이 조금 이상한하지만 방법은 때문에 이벤트가 플러그인 구현에서 발사하는 방법으로 작동합니다.

+0

고맙습니다. 하지만 한 가지 문제가 있습니다. 리스너를 등록 할 때 "잘못된 MIME 유형"메시지와 함께 실패 콜백이 호출됩니다. 그러나이 오류가 있어도 모든 것이 작동합니다. 이거 버그 야? – user3266343

+0

"text/bogus"와 같은 유효한 MIME 유형에서 오류가 전달되는 것을 피하기 위해 또는 정상적으로 작동하기 때문에 성공 및 실패 콜백을 생략 할 수 있습니다. 훌륭한 솔루션은 아니지만 디자인 결함을 해결합니다. – doncoleman

-1

해당 플러그인은 NFC 이벤트를 수신하지만 이전에 Javascript 코드에서 등록 된 JS 콜백 만 알립니다. 따라서 귀하의 웹 페이지가 먼저 webview에로드 된 다음 cordova의로드 이벤트가 발생해야만 콜백을 등록 할 수 있습니다. 그래서 플러그인만으로는 문제가 해결되지 않는다고 생각합니다.

Java API를 사용하여 웹 활동에 NFC 감지 기능을 추가 한 다음 (Java를 사용하여) 읽기 태그 정보를 지속성에 저장 한 다음이를 읽는 사용자 정의 Cordova 플러그인을 만들 수 있습니다 JS 엔트리 포인트의 javascript 정보 (예 : "deviceready"이벤트 콜백).

+0

"웹 활동에 NFC 탐지 기능 추가"란 무엇을 설명해 주시겠습니까? 웹 활동이란 무엇이며 어디에 추가해야합니까? 나는 이것에 아주 새롭다. – user3266343

+0

WebActivity는 CordovaActivity를 확장 한 클래스입니다. 여기에는 웹 페이지가로드되는 웹보기가 포함됩니다. 태그를 읽을 때 활동이 열리도록 앱에 NFC 기능을 추가 할 수 있습니다. 그러나 (웹 앱이 아닌 Android 앱을 개발하는 것처럼) 일반 방식으로해야합니다. 작동 시키려면 까다로울 것입니다. 더 많은 정보를 원하시면 [here] (http://developer.android.com/guide/topics/connectivity/nfc/index.html) –

+0

플러그인은 여러분이 필요로하는 것을 해줍니다. 네이티브 코드를 수정할 필요가 없습니다. 내 대답을 보라. – doncoleman