NFC空标签阅读问题

问题描述:

我目前参与了一个需要使用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"); 
} 

我想表明这样的自定义消息用我自己的活动。

有什么建议吗?

您可能想要启用前台调度。这样您的活动就可以接收所有NFC意图,包括空标记中的意图。有关说明和示例,请参阅http://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc.html#foreground-dispatch

+0

我也尝试过前台调度。当它空的时候它不读取标签。如果标签包含一些网址或文字,它会完美地阅读。我正在使用Ultralight C标签来达到此目的。 – jAnA 2012-08-17 01:13:24

+0

“阅读标签”是什么意思?如果标签为空(意味着没有NDEF消息),那么Android不会向您发送NDEF_DISCOVERED意图。 – 2012-08-17 07:48:54

+0

我想在将文本/ URI写入标签之前检查标签是否为空。如果标签为空,我想打印“标签为空”消息。任何建议? – jAnA 2012-08-31 02:14:19