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 @   f9q  阅读(1062)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示