我开发了 2 个 Android 应用程序。第一个,写入NFC标签,第二个读取我写的内容。
这就是我在第一个应用程序(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)阅读时,屏幕上当然只有第二条记录的有效负载,我通过“记录类型”存储了它。但是对于第三方应用程序,尤其是本机安装的(“标签”)-如图所示-,它可以正确显示第一条记录,而第二条记录是一个空字段。我怎样才能隐藏这个字段。否则,如何强制其他第三方应用程序不读取第二条记录?