Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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安卓:从NdefMessage获取价值_Android_Nfc_Mifare - Fatal编程技术网

Android NFC安卓:从NdefMessage获取价值

Android NFC安卓:从NdefMessage获取价值,android,nfc,mifare,Android,Nfc,Mifare,我在摆弄一些标签(Mifare经典) 我已经用nxp应用程序tagwriter将一条明文消息写入标记 以下代码是我目前掌握的代码: ** Called when a new nfc interaction/intent is fired */ public void onNewIntent(Intent intent) { NdefMessage[] msgs = null; if(intent.equals(NfcAdapter.ACTION_NDEF_DISCOVERED)

我在摆弄一些标签(Mifare经典)

我已经用nxp应用程序tagwriter将一条明文消息写入标记

以下代码是我目前掌握的代码:

 ** Called when a new nfc interaction/intent is fired */
public void onNewIntent(Intent intent) {
    NdefMessage[] msgs = null;
    if(intent.equals(NfcAdapter.ACTION_NDEF_DISCOVERED)){
        Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
        if(rawMsgs!=null){
            msgs = new NdefMessage[rawMsgs.length];
            for(int i=0;i<rawMsgs.length;i++){
                msgs[i] = (NdefMessage) rawMsgs[i];
            }
        }
    } else {
        Log.e(TAG, "Other intent then NDEF_DISCOVERED");
    }
**在触发新的nfc交互/意图时调用*/
公共帐篷(意向){
NdefMessage[]msgs=null;
if(意图等于(NfcAdapter.ACTION\u NDEF\u DISCOVERED)){
Parcelable[]rawMsgs=intent.getParcelableArrayExtra(NfcAdapter.EXTRA\u NDEF\u消息);
if(rawMsgs!=null){
msgs=新的NdefMessage[rawMsgs.length];

对于(inti=0;i,Android内置SDK目前几乎不支持解析NDEF消息和记录

我已经为Android上的NFC(NDEF)入门写了一篇文章,它基于,可以读写各种NDEF记录,如上面的NdefMessage-所以你会看到POJO而不是字节数组:-)


也可以试试。

Android内置SDK目前几乎不支持解析NDEF消息和记录

我已经为Android上的NFC(NDEF)入门写了一篇文章,它基于,可以读写各种NDEF记录,如上面的NdefMessage-所以你会看到POJO而不是字节数组:-)


还可以尝试使用。

第一条消息的第一条记录的简单示例:

NdefRecord[] recs = msgs[0].getRecords();
byte[] type = recs[0].getType();
byte[] value = recs[0].getPayload();

知道类型后,可以解释
字节。

第一条消息的第一条记录的简单示例:

NdefRecord[] recs = msgs[0].getRecords();
byte[] type = recs[0].getType();
byte[] value = recs[0].getPayload();

当您知道类型时,您可能能够解释
字节。

请注意,该问题意味着海报已经编写了消息。海报对阅读和解析标签中的消息感兴趣。我不分享关于海报的这种解释,但即使我这样做了,我所指的工具也会阅读一段消息nd写NDEF消息,在字节级别记录,并将记录解析为POJO-这显然是非常可取的。因此,如果您当前的答案是您能做的最好的,请查看这些链接。请不要误解我的意思,但您链接上的Android代码,例如,在我甚至看不到我的答案提供的详细程度(这是有限的,我同意)。不幸的是,我已经看到许多应用程序编写了格式不正确的NDEF消息。如果您的链接指向的项目能够帮助改善这种情况(或者将来能够),我希望看到这一点,因为我认为这是非常有价值的。很好的一点,我将更新更详细的样板文件。然而,我想到了nfctools[ndef部分了解更多细节(POJO)。啊,有两个链接,我错过了。对不起。是的,展示如何在Android应用程序中使用nfctools将是一个有价值的补充。请注意,这个问题意味着海报已经写好了信息。海报对阅读和解析标签中的信息感兴趣。我不分享关于海报的解释,但即使我是的,我指的工具读写NDEF消息、字节级记录并将记录解析为POJO,这显然是非常可取的。因此,如果你当前的答案是你能做的最好的,请查看这些链接。别误会,但你链接上的Android代码,例如,在我甚至看不到我的答案的详细程度ovides(这是有限的,我同意)。不幸的是,我已经看到许多应用程序编写了格式不正确的NDEF消息。如果您的链接指向的项目能够帮助改善这种情况(或者将来能够),我很想看到这一点,因为我认为这很有价值。好的一点,我将更新更多细节的样板。但是我想到了nfctools[ndef部分了解更多细节(POJO)。啊,有两个链接,我错过了。抱歉。是的,展示如何在Android应用程序中使用nfctools将是一个有价值的补充。