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。
我也尝试过前台调度。当它空的时候它不读取标签。如果标签包含一些网址或文字,它会完美地阅读。我正在使用Ultralight C标签来达到此目的。 – jAnA 2012-08-17 01:13:24
“阅读标签”是什么意思?如果标签为空(意味着没有NDEF消息),那么Android不会向您发送NDEF_DISCOVERED意图。 – 2012-08-17 07:48:54
我想在将文本/ URI写入标签之前检查标签是否为空。如果标签为空,我想打印“标签为空”消息。任何建议? – jAnA 2012-08-31 02:14:19