2012-08-07 4 views
2

현재 NFC를 사용하여 통신해야하는 프로젝트에 참여하고 있습니다.NFC 빈 태그 읽기 문제

NFC 태그를 읽을 때 URI와 텍스트가 완벽하게 작동합니다.

그러나 빈 NFC 태그를 읽을 때 기본 코드 인 "빈 태그"메시지가 표시됩니다.이 메시지는 내 코드에 정의되어 있지 않습니다.

의 AndroidManifest.xml :

<activity 
    android:name=".ReadActivity" 
    android:label="@string/app_name" > 
    <intent-filter> 
    <action android:name="android.nfc.action.NDEF_DISCOVERED"/> 
    <data android:mimeType="application/example.nfcdemo"/> 
    <category android:name="android.intent.category.DEFAULT"/> 
    </intent-filter> 
    <intent-filter> 
    <action android:name="android.nfc.action.TAG_DISCOVERED"/> 
    <category android:name="android.intent.category.DEFAULT"/> 
    </intent-filter> 
</activity> 

onCreate() 방법 :

if (intent.getType() != null && intent.getType().equals(MimeType.NFC_DEMO)) { 
    Parcelable[] rawMsgs = getIntent().getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); 
    NdefMessage msg = (NdefMessage) rawMsgs[0]; 
    NdefRecord cardRecord = msg.getRecords()[0]; 
    String msg = new String(cardRecord.getPayload()); 
    displayMessage("Tag Written here : " +msg); 
} 
else { 
    displayMessage("This is an empty tag"); 
} 

난 내 자신의 활동을 사용하여이 같은 사용자 정의 메시지를 보여 드리고자합니다.

제안 사항?

답변

0

아마도 전경 파견을 사용하고 싶을 것입니다. 그렇게하면 활동이 빈 태그의 활동을 포함하여 모든 NFC 의도를 수신 할 수 있습니다. 지침 및 예는 http://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc.html#foreground-dispatch을 참조하십시오.

+0

나는 전경 파견도 시도했다. 태그가 비어있을 때 태그를 읽지 않습니다. 태그에 일부 URL이나 텍스트가 포함되어 있으면 완벽하게 읽히고 있습니다.이 용도로 Ultralight C 태그를 사용하고 있습니다. – jAnA

+0

"태그 읽기"란 무엇을 의미합니까? 태그가 비어 있으면 (즉, NDEF 메시지가 없음을 의미), Android는 NDEF_DISCOVERED 인 텐트를 보내지 않습니다. –

+0

태그가 비어 있는지 확인하기 전에 태그에 텍스트/URI를 쓰십시오. 태그가 비어 있으면 "태그가 비어 있습니다"라는 메시지를 인쇄하고 싶습니다. 어떤 제안입니까? – jAnA