将联系人写入Android上的NFC标签
是否有任何教程或示例说明如何让我的android程序将特定联系人(姓名和电话号码)写入NFC标签。因此,当用户用手机触摸标签时,它会将联系人保存到手机联系人中?是。使用VCARD类型 在NFC事件意图处理程序中,使用此方法构建NdefRecord:将联系人写入Android上的NFC标签,android,nfc,Android,Nfc,是否有任何教程或示例说明如何让我的android程序将特定联系人(姓名和电话号码)写入NFC标签。因此,当用户用手机触摸标签时,它会将联系人保存到手机联系人中?是。使用VCARD类型 在NFC事件意图处理程序中,使用此方法构建NdefRecord: public NdefRecord createVcardRecord(String name, String org, String tel, String email) throws UnsupportedEncodingExc
public NdefRecord createVcardRecord(String name, String org, String tel, String email)
throws UnsupportedEncodingException {
String payloadStr = "BEGIN:VCARD" +"\n"+
"VERSION:2.1" +"\n" +
"N:;" + name + "\n" +
"ORG:"+org+"\n"+
"TEL:"+tel+"\n"+
"EMAIL:"+email+"\n
"+"END:VCARD";
byte[] uriField = payloadStr.getBytes(Charset.forName("US-ASCII"));
byte[] payload = new byte[uriField.length + 1];
System.arraycopy(uriField, 0, payload, 1, uriField.length);
NdefRecord nfcRecord = new NdefRecord(NdefRecord.TNF_MIME_MEDIA,
"text/vcard".getBytes(),
new byte[0],
payload);
return nfcRecord;
}
然后将记录添加到记录数组:
NdefRecord[] records = new NdefRecord[1];
records[0] = createVcardRecord("Henry", "Henry's Company", "0412345678", "henry@domain.com");
将记录数组传递到NdefMessage中,即可编写:
NdefMessage message = new NdefMessage(records);
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
writeToTag(message, tag); // your tag writing function
您可以使用名为“NFC工具”的应用程序将姓名和电话号码保存在NFC标签上,并使用以下链接读取卡的内容:link@DigitalPerson当前位置假设此操作有效,请您标记此问题是否已回答?