NFC(8)关于新买的标签的格式化
有多种方法格式化nfc标签设备.
如搜相关的手机上应用,在应用里选择格式类型
本文是用代码手动格式
1 public void writeNFCTag(Tag tag) { 2 if (tag == null) { 3 return; 4 } 5 Uri uri = Uri.parse("http://www.bing.com"); 6 NdefMessage ndefMessage = new NdefMessage( 7 new NdefRecord[] { NdefRecord.createUri(uri) }); 8 int size = ndefMessage.toByteArray().length; 9 try{ 10 Ndef ndef = Ndef.get(tag); 11 12 if (ndef != null){// 已经格式化 13 ndef.connect(); 14 if (!ndef.isWritable()) { 15 return; 16 } 17 if (ndef.getMaxSize() < size) { 18 return; 19 } 20 ndef.writeNdefMessage(ndefMessage); 21 Toast.makeText(this, "ok", Toast.LENGTH_LONG).show(); 22 } else {// 标签未格式化 23 // 第1步,获取NdefFormatable 24 NdefFormatable format = NdefFormatable.get(tag); 25 if (format != null){// 可以格式化 26 // 第2步,连接 27 format.connect(); 28 // 第3步,格式化同时把数据写入到标签中. 29 format.format(ndefMessage); 30 Toast.makeText(this, "ok", Toast.LENGTH_LONG).show(); 31 } else {// 不可格式化 32 Toast.makeText(this, "formating is failed", 33 Toast.LENGTH_LONG).show(); 34 } 35 } 36 37 } catch (Exception e) { 38 e.printStackTrace(); 39 } 40 }