当我尝试在Android 2.3.6(nexus S)上编写NFC A标签时,我遇到了问题。我使用此示例中的代码: http://www.jessechen.net/blog/how-to-nfc-on-the-android-platform/
更准确地说,当我执行Ndef.get(mytag)时,我得到null,所以我无法编写我的标签。
这是从中获取空引用的代码('tag'值不为null),只有ndef。
Ndef ndef = Ndef.get(tag);
if (ndef != null) {
ndef.connect();
if (!ndef.isWritable()) {
return false;
}
if (ndef.getMaxSize() < size) {
return false;
}
ndef.writeNdefMessage(message);
return true;
}
谢谢你的帮助!!!
答案 0 :(得分:2)
您的标签可能尚未针对NDEF消息存储格式化,或者根本无法存储NDEF消息。
检查NdefFormatable.get(tag)
是否返回不等于null
的内容。
然后使用NdefFormatable.format(message)
尝试编写邮件。
如果NdefFormatable.get(tag)
返回null
,则说明Android无法格式化标记,或者标记与NDEF存储不兼容。
(或者,您可能希望使用TagWriter https://market.android.com/details?id=com.nxp.nfc.tagwriter来格式化和编写标记。)
答案 1 :(得分:0)
尝试使用NfcA.get(tag)。不知道为什么你会收到错误,但尝试其他类可能会有效。