正确的使用方法是什么

MifareUltralight.writePage()

方法?

查询

getMaxTransceiveLength()

方法返回253字节。然而

tag

以888字节的速度公布。是

transceive()

因此

writePage()

应该被多次调用?正在写入的有效负载的大小为457字节。

val jsonString = Gson().toJson(casualty)

val casualtyBytes = toBlob(casualty)

var currentPage = PAGE_OFFSET

val pageBytes = ByteArray(MifareUltralight.PAGE_SIZE)

var byteIndex = 0

for(i in 0 until casualtyBytes.size){

pageBytes[byteIndex] = casualtyBytes[i]

byteIndex++

if(byteIndex == 4 || i == (casualtyBytes.size-1)) {

tag.writePage(currentPage, pageBytes)

currentPage++

byteIndex = 0

}

}

fun toBlob(item : Any) : ByteArray{

val bos = ByteArrayOutputStream()

val gzip = GZIPOutputStream(bos) //compress

val oos = ObjectOutputStream(gzip)

oos.writeObject(item)

oos.close()

return bos.toByteArray()

}

例外情况

java.io.IOException: Transceive failed

at android.nfc.TransceiveResult.getResponseOrThrow(TransceiveResult.java:52)

at android.nfc.tech.BasicTagTechnology.transceive(BasicTagTechnology.java:151)

at android.nfc.tech.MifareUltralight.writePage(MifareUltralight.java:193)

at some.package.nfc.NfcCasualtyPublisher.writeToTag(NfcCasualtyPublisher.kt:42)

at some.package.nfc.NfcCasualtyPublisher.access$writeToTag(NfcCasualtyPublisher.kt:11)

at some.package.nfc.NfcCasualtyPublisher$publishCasualty$1.run(NfcCasualtyPublisher.kt:21)

at java.lang.Thread.run(Thread.java:818)

java mifare_如何正确写入MifareUltralight NFC标签?相关推荐

  1. Android NFC 标签读写Demo与历史漏洞概述

    文章目录 前言 NFC基础 1.1 RFID区别 1.2 工作模式 1.3 日常应用 NFC标签 2.1 标签应用 2.2 应用实践 2.3 标签预览 2.4 前台调度 NFC开发 3.1 NDEF数 ...

  2. NFC标签及标签种类

    - 概述NFC标签和四类标签的定义. 近场通讯技术的关键要素之一,在于NFC装置与被动式NFC标签沟通的能力.NFC技术的这一特征,是许多应用成为可能的关键. NFC标签正在被大量生产.部署在全球若干 ...

  3. Android应用实例之----MifareUltralight格式的nfc标签读写

    随着支持nfc通信功能的智能手机更加普及,在移动支付及公交卡.诊疗卡读写等方面将会发挥更大的作用. 首先介绍Android NFC的工作流程: 步骤1:通过android.nfc.NfcAdapter ...

  4. 使用bartender打印RFID标签如何正确写入EPCID(intermec的RFID条码打印机)

    使用bartender打印RFID标签如何正确写入EPCID(intermec的RFID条码打印机) 我采用bartender9.3版本以上的软件大于用户区域的数据没问题.打印EPICID花了我3天时 ...

  5. Android NFC标签写入应用包名,感应到标签自动打开应用

    首先在AndroidManifest.xml文件中添加如下配置 <!-- SDK版本至少为14 --> <uses-sdk android:minSdkVersion="1 ...

  6. Android NFC标签写入网址,感应到标签访问网页

    首先在AndroidManifest.xml文件中添加如下配置 <!-- SDK版本至少为14 --> <uses-sdk android:minSdkVersion="1 ...

  7. Android开发——NFC标签读写

    Android开发----NFC标签读写 前言 最近因为项目需要,特意学习了NFC的Android开发.加上之前并没有系统地学习过Android开发知识,起手比较困难,搞了半天才算一知半解.怎么办呢? ...

  8. android nfc标签类型,Android NFC标签 开发深度解析 触碰的艺术

    原标题:Android NFC标签 开发深度解析 触碰的艺术 本文来自于CSDN博客,作者:郭朝,已获授权,版权归原作者所有,未经作者同意,请勿转载. 欢迎同有博客好文章的作者加微信(ID:tm_fo ...

  9. nfc标签 方案 防伪_商品追溯防伪NFC标签制作

    十八年制卡经验各种卡类制作,IC卡|ID卡|M1卡|CPU卡|磁条卡|条码卡等,厂家直销,量大价优,您值得信赖!欢迎光大客户来电咨询!我们一定竭诚为您服务! 免费拿样,量大价优! 产品简介 NFC是N ...

最新文章

  1. 毕业论文答辩老师最想听到什么?最关注的问题是什么?
  2. Task.Run vs Task.Factory.StartNew
  3. 【Linux入门到精通系列讲解】shell中的eval命令
  4. euler‘s formula
  5. seata分布式事务框架原理
  6. 计算机考研【211 计算机专业院校 官方排名】教育部 第4次“计算机专业”学科评估
  7. oracle11g安装到第7步,centos7安装oracle11g到这一步卡在了?也没有安装界面
  8. sql server 生成万年历
  9. java报错空指针异常_夯实基础:认识一下这10 个深恶痛绝的 Java 异常
  10. Python(25)-单例设计模式
  11. python生成随机整数_Python中,我想得到1~255随机整数,用rand.randint(1,255),但不想让里面170这个数出现,怎么写呢?...
  12. 1190: [HNOI2007]梦幻岛宝珠 - BZOJ
  13. 我的 WinClock 项目系列之一 (概述)
  14. DevOps实践教程 华为云 系列教程2021 合集
  15. UNIX环境高级编程——第一个程序
  16. 解决JDK官网下载龟速的问题
  17. 数据结构 09-链表概念及常见链表结构
  18. DHCP协议以及其配置
  19. 【181018】纯C 编写的太空大战打字游戏
  20. ps界面为啥突然变大了_PS教程丨皮肤美白修饰

热门文章

  1. CRM One order里user status和system status的mapping逻辑
  2. 404 Not Found: Requested route ('jerrylist.cfapps.eu10.hana.ondemand.com') does not exist
  3. SAP CRM WebClient UI BSP server event
  4. 使用OData API批量删除Marketing Cloud里的contact
  5. rs485如何使用_12个经典问答:带你全面了解RS485接口知识
  6. html class和id,css教程之样式表的基本语法(二) class(类)和id的一个小实例
  7. html5游戏指尖跟随,图片跟随手指滑动
  8. plsql只提交存储过程里的事务_plsql 存储过程 事务 | 学步园
  9. 浸会大学计算机专业硕士排名2019,2019软科世界大学学术排名香港浸会大学排名第701-800...
  10. python可视化添加文本_python Matplotlib基础--如何添加文本和标注