NFC空标签读取问题

时间:2012-08-07 03:43:30

标签: android nfc ndef

我目前正参与一个项目,我需要使用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 :(得分:0)

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