2016-04-11 11 views
-1

NFCタグに特定の連絡先(名前と電話番号)を書き込む方法を説明するチュートリアルや例がありますか?だから、ユーザーが電話でタグをタッチすると、彼は彼の電話連絡先に連絡先を保存しますか?AndroidのNFCタグに連絡先を書き込む

+0

NFCタグに名前と電話番号を保存するには、 NFCツール 'を開き、以下のリンクを使用してカードを読んでください:http://code.tutsplus.com/tutorials/reading-nfc-tags-with-android--mobile-17278 link –

答えて

2

はい。 VCARDタイプの使用。あなたのNFCイベント意思ハンドラ内

、あなたのNdefRecordを構築するために、このメソッドを使用します。

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", "[email protected]"); 

がNdefMessageにレコードの配列を渡すと、

NdefMessage message = new NdefMessage(records); 
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); 
writeToTag(message, tag); // your tag writing function 
+0

@DigitalPerson:これがうまくいくと仮定してくださいこの質問に答えてください – henrycjc

関連する問題