Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何以NDEF格式格式化NFC标记_Android_Nfc - Fatal编程技术网

Android 如何以NDEF格式格式化NFC标记

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)

我有一个Mifare Classic1K NFC标签,但我无法在上面写任何内容。它是可写的,但似乎没有在NDEF中格式化,NDEF是Android设备在其上写入数据的先决条件。欢迎提出任何建议


附言:我有一个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手机都支持,因为存在许可问题。