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     }

 

  

posted @ 2015-09-04 19:06  f9q  阅读(1028)  评论(0编辑  收藏  举报