Android 如何以NDEF格式格式化NFC标记
我有一个Mifare Classic1K NFC标签,但我无法在上面写任何内容。它是可写的,但似乎没有在NDEF中格式化,NDEF是Android设备在其上写入数据的先决条件。欢迎提出任何建议Android 如何以NDEF格式格式化NFC标记,android,nfc,Android,Nfc,我有一个Mifare Classic1K NFC标签,但我无法在上面写任何内容。它是可写的,但似乎没有在NDEF中格式化,NDEF是Android设备在其上写入数据的先决条件。欢迎提出任何建议 附言:我有一个TRF7960射频天线,如果可以帮助格式化的话。给定一个名为Tag的android.nfc.Tag对象,要格式化它,请使用: NdefFormatable formatable=NdefFormatable.get(tag); if (formatable != null)
附言:我有一个TRF7960射频天线,如果可以帮助格式化的话。给定一个名为
Tag
的android.nfc.Tag
对象,要格式化它,请使用:
NdefFormatable formatable=NdefFormatable.get(tag);
if (formatable != null) {
try {
formatable.connect();
try {
formatable.format(msg);
}
catch (Exception e) {
// let the user know the tag refused to format
}
}
catch (Exception e) {
// let the user know the tag refused to connect
}
finally {
formatable.close();
}
}
else {
// let the user know the tag cannot be formatted
}
即使现在不是NDEF格式,此代码也能格式化它吗?@pansp:如果标记是NDEF formattable,则是。未显示用于检测其是否已为NDEF格式的代码。您可以看到我从这里提取的完整示例项目:@commonware它不工作。我得到的格式化值为空。请另选suggest@AristoMichael:对不起,我不知道任何其他格式化NFC标记的方法。@Commonware我的标记是可格式化的,即,
可格式化!=null(true)
但当我格式化标记时,它抛出IOException:(formattable.format(message)
-->IOException
确保您使用的Android手机可以读取Mifare经典标签。Android支持它,但并非所有Android手机都支持,因为存在许可问题。