我开发了2个Android应用程序。第一个是写入NFC标签,第二个是读我写的内容。将NDEF记录隐藏到NDEF消息中?
这是我的第一个应用程序(WriteNFC)
private NdefRecord createRecord1(String data)
{
byte[] payload = data.getBytes(Charset.forName("UTF-8"));
byte[] empty = new byte[] {};
return new NdefRecord(NdefRecord.TNF_ABSOLUTE_URI, empty, empty, payload);
}
private NdefRecord createRecord2(String data)
{
byte[] payload = data.getBytes(Charset.forName("UTF-8"));
byte[] empty = new byte[] {};
return new NdefRecord(NdefRecord.TNF_ABSOLUTE_URI, payload, empty, empty);
}
而在第二个应用程序(ReadNFC)做
NdefRecord cardRecord = msg.getRecords()[1];//Extract the second Record
String url_data = new String(cardRecord.getType());//Read data type
当我用我自己的应用程序(ReadNFC)读的当然,我在屏幕上只有第二个记录的有效载荷,我通过“记录类型”存储。但是对于第三方应用程序,特别是在照片中显示的本地安装(“标记”)应用程序,它显示正确的第一个记录,第二个应用程序是空的字段。我怎样才能隐藏这个领域。否则,我如何强制其他第三方应用程序不读第二个记录?
亲爱的托马斯在我的应用程序中没有错误。我只是选择将有效载荷作为记录类型,并在有效载荷字段中清空。 [如你所见,我使用getType()而不是getPayload()]。 通过这种方式,第三方应用程序将显示一个空白字段。这不是我正在寻找什么,但至少它显示一个空的字段,而不是第二个记录! – mOmO
好的。查看更新的回复。 – ThomasRS
我已经使用过未知记录。事实上,第三方应用程序不会显示第二条记录的数据。但是,当我们使用TNF_UNKNOWN记录时,类型字段应该是空的。结果,第三方应用程序显示特定消息:“未知标签类型”。 同样的事情,当我们使用TNF_EXTERNAL_TYPE! – mOmO