我目前正参与一个项目,我需要使用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 :(得分:0)
您可能希望启用前台调度。这样,您的活动就可以接收所有NFC意图,包括来自空标签的意图。有关说明和示例,请参阅http://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc.html#foreground-dispatch。