Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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 改为;有效载荷;NFC标签上的数据?_Android_Nfc_Payload - Fatal编程技术网

Android 改为;有效载荷;NFC标签上的数据?

Android 改为;有效载荷;NFC标签上的数据?,android,nfc,payload,Android,Nfc,Payload,我使用以下代码“读取”nfc标记: @Override protected void onResume () { super.onResume(); // read nfc tag....this is what will "read" the external record? if (getIntent().hasExtra(NfcAdapter.EXTRA_TAG)) { NdefMessage ndefMessage = this.getNdef

我使用以下代码“读取”nfc标记:

@Override
protected void onResume () {
    super.onResume();

    // read nfc tag....this is what will "read" the external record?
    if (getIntent().hasExtra(NfcAdapter.EXTRA_TAG)) {

        NdefMessage ndefMessage = this.getNdefMessageFromIntent(getIntent());

        if(ndefMessage.getRecords().length > 0){

            NdefRecord ndefRecord = ndefMessage.getRecords()[0];

            String payload = new String(ndefRecord.getPayload());

            Toast.makeText(this, payload, Toast.LENGTH_SHORT).show();

        }

    }


    enableForegroundDispatchSystem();

}

我得到一个错误,说它“无法解析方法getNdefMessageFromIntent”是否还有另一个方法可以用来“读取”标记上的有效负载?不知道如何修复此问题…谢谢您的帮助

您可以尝试以下方法:

if (intent.getAction().equals(NfcAdapter.ACTION_NDEF_DISCOVERED)) {
Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
if (rawMsgs != null) { // NDEF Message available
    NdefMessage msg =(NdefMessage) rawMsgs[0];
    NdefRecord ndefRecords = ndefMessage.getRecords(); 

    String payload = new String(ndefRecord[0].getPayload());
    Toast.makeText(this, payload, Toast.LENGTH_SHORT).show();
}

}

嗨,corvairjo,我的应用程序取得了一些进展,但我遇到了另一个障碍。我已经打开了另一个问题,这样我可以分享更多的代码。链接是:到目前为止,你帮了我很大的忙,我提前感谢你在这个话题上的帮助!我正在取得稳步进展…因为我现在能够写入标签并读取它…然而,我得到了一些奇怪的“有效负载”格式的结果。我在这里发布了另一个问题:一如既往,感谢您的帮助……我一直在尽可能地为您投票。嗨@corvairjo,再次感谢您的帮助,我因此取得了巨大的进步。现在,当我“扫描”标记时,可以看到整数值(1或2)。但是,我无法用设计用于基于该写入值执行代码的应用程序实际“读取”标记。我已经在下面的链接中发布了我的全部主要活动代码…再次感谢您的帮助!!