NFC空标签读取问题

3

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

我想展示一个自定义消息,就像这样使用我的自己的活动。
有什么建议吗?
1个回答

0

我已经尝试过前台调度了。当标签为空时,它无法读取标签。如果标签包含一些URL或文本,则可以完美地进行读取。我正在使用Ultralight C标签来实现这个目的。 - Janahan
“读取标签”是什么意思?如果标签为空(即没有NDEF消息),那么Android将不会向您发送NDEF_DISCOVERED意图。 - NFC guy
我想在将文本/URI写入标签之前检查标签是否为空。如果标签为空,我想打印“标签为空”的消息。有什么建议吗? - Janahan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接