一种基于Android平台的NFC读写方法_2

文档序号:9200710阅读:来源:国知局
存储结束;
[0048]6.6)关闭卡片对内存操作的指令连接;
[0049]7)读取存储的16进制数据内容:对写入存储的数据利用ASCII码扩展表进行转换,还原存储数据的内容,如图3所示。
[0050]进一步,步骤3)中发现卡片和卡片的分发系统包括以下步骤:
[0051]3.1)如果目标 NFC 卡片包含了系统支持的 NDEF (NFC Data Exchange Formate)消息,即NFC数据转换格式消息,则NFC系统模块将直接把此NDEF消息分发给感兴趣的Activity活动类,如果有目标Activity,则直接分发给此活动类,否则继续下一步;
[0052]3.2)如果目标NFC卡片包含了系统不支持的NDEF消息,或者3.1)中没有目标Activity,则NFC系统模块将尝试分发一个ACT1N_TECH_DISCOVERED发现支持类型的通知;NFC系统模块在分发此通知时,将首先分析目标卡片所支持的使用技术,然后寻找注册了支持这些卡片技术的目标活动Activity,并将意图1ntent分发给Activity ;如果没有合适的目标Activity,则转入下一步;
[0053]3.3)NFC系统模块将分发ACT1N_TAG_DISCOVERED通知给注册了该通知的感兴趣目标活动Activity。
[0054]再进一步,步骤4)中的获取卡片信息的读取方法为:先获得卡片对内存的操作指令,然后再获取每个内存扇区的密码,找到要读取数据的块,再将内存中的16进制数据每2位或者4位进行美国标准交换信息码扩展码转换,从而识别中文内容,最后关闭对内存的操作指令,完成整个读取过程。
[0055]本实施例以常见的Ml (Mifare Classic 1K)卡片为实施例,一种基于Android平台的NFC读写方法,其中包括以下步骤:
[0056]I)打开本应用程序,判断设备状态:
[0057]1.1)先检测设备支持NFC功能与否,若不支持则弹出提示框,退出应用程序;
[0058]1.2)若设备支持该功能但未开启NFC功能,则出现提示框,提醒开启设备的NFC功能,开启后进行下一步;
[0059]2)将标签靠近设备背面,等待程序读取;
[0060]3) NFC卡片的读操作:当有标签靠近时,应用程序会提示发现一个NFC卡片信息,则启动Android标准配置文件中过滤器找到定义好的应用程序主活动Activity,用户可以在活动中执行需要的操作;
[0061]4)NFC数据格式信息的获得:通过从主活动Activity中的意图过滤器获取卡片信息,并将其保存在数据格式信息类中;
[0062]5)NFC数据格式信息的解析:通过获得的信息进行数据格式转化解析,从而得到卡片中写入的真实内容,即之前写入的数据;
[0063]6)NFC卡片的写操作:当NFC应用程序发现一个NFC卡片时,会启动Android标准配置文件中定义好的对应主活动Activity,执行Activity中的写操作:
[0064]6.1)获取卡片的对内存操作指令,并连接;
[0065]6.2)在写入数据的过程中,设定好写入的块,防止写入扇区的尾块中而导致扇区出现死区现象;
[0066]6.3)将写入的数据转为byte型,并判断写入数据的大小,如果超出范围,提示写入数据超过内存,并返回,否则继续下一步;
[0067]6.4)获取写入扇区的独立密码;
[0068]6.5)判断写入数据的byte型的长度,小于16byte的补0,大于16byte但小于48byte的自动转为存储与本扇区的其他块,大于48byte的,转到步骤6.3)获取下一个扇区的密码,再重复步骤6.4),直至存储结束;
[0069]6.6)关闭卡片对内存操作的指令连接;
[0070]7)读取存储的16进制数据内容:对写入存储的数据利用ASCII码扩展表进行转换,还原存储数据的内容,结果如图3所示。
[0071]以常见的Ml (Mifare Classic 1K)卡片为例,运用以上方法,完成了 NFC的读写过程,其中写入数据前如图1所示,写入数据后读取存储界面如图2所示。
[0072]以上阐述的是本发明给出的一个实施例表现出来的优良效果,显然本发明不仅适合上述实施例,在不偏离本发明基本精神及不超出本发明实质内容所涉及内容的前提下可对其做种种变化加以实施。
【主权项】
1.一种基于Android平台的NFC读写方法,所述方法包括以下步骤: 1)打开本应用程序,判断设备状态,过程如下: 1.D先检测设备支持NFC功能与否,若不支持则弹出提示框,退出应用程序; 1.2)若设备支持该功能但未开启NFC功能,则出现提示框,提醒开启设备的NFC功能,开启后进行下一步; 2)将标签靠近设备背面,等待程序读取; 3)NFC卡片的读操作:当有标签靠近时,应用程序发现一个NFC卡片信息,它会启动Android标准配置文件中过滤器找到定义好的应用程序主活动Activity,用户可以在活动中执行事务操作; 4)NFC数据格式信息的获得:通过从主活动Activity中的意图过滤器获取卡片信息,并将其保存在数据格式信息类中; 5)NFC数据格式信息的解析:通过获得的信息进行数据格式转化解析从而得到卡片中写入的真实内容,即先前写入的数据; 6)NFC卡片的写操作:当NFC应用程序发现一个NFC卡片时,会启动Android标准配置文件中定义好的对应主活动Activity,执行Activity中的写操作: 6.1)获取卡片的对内存操作指令,并连接; 6.2)在写入数据的过程中,设定好写入的块,防止写入扇区的尾块中而导致扇区出现死区现象; 6.3)将写入的数据转为byte型,并判断写入数据的大小,如果超出范围,提示写入数据超过内存,并返回,否则继续下一步; 6.4)获取写入扇区的独立密码; 6.5)判断写入数据的byte型的总长度,小于16byte的补0,大于16byte但小于48byte的自动转为存储与本扇区的其他块,大于48byte的,转到步骤6.3)获取下一个扇区的密码,再重复步骤6.4),直至存储结束; 6.6)关闭卡片的对内存操作指令的连接; 7)读取存储的16进制数据内容,对写入存储的数据进行ASCII码扩展码转换,还原存储数据的内容。2.如权利要求1所述一种基于Android平台的NFC读写方法,所述方法特征在于:步骤3)中发现卡片和卡片的分发系统包括以下步骤: 3.1)如果目标NFC卡片包含了系统支持的NDEF(NFC Data Exchange Formate)消息,即NFC数据转换格式消息,则NFC系统模块将直接把此NDEF消息分发给感兴趣的Activity活动类,如果有目标Activity,则直接分发给此活动类,否则继续下一步; 3.2)如果目标NFC卡片包含了系统不支持的NDEF消息,或者3.1)中没有目标Activity,则NFC系统模块将尝试分发一个ACT1N_TECH_DISCOVERED发现支持类型的通知;NFC系统模块在分发此通知时,将首先分析目标卡片所支持的使用技术,然后寻找注册了支持这些卡片技术的目标活动Activity,并将意图1ntent分发给Activity ;如果没有合适的目标Activity,则转入下一步; 3.3) NFC系统模块将分发ACT1N_TAG_DISCOVERED通知给注册了该通知的感兴趣目标活动 Activity。3.如权利要求1或2所述一种基于Android平台的NFC读写方法,所述方法特征在于:步骤4)中的获取卡片信息的读取方法为:先获得卡片对内存的操作指令,然后再获取每个内存扇区的密码,找到要读取数据的块,再将内存中的16进制数据每2位或者4位进行美国标准交换信息码扩展码转换,从而识别中文内容,最后关闭对内存的操作指令,完成整个读取过程。
【专利摘要】一种基于Android平台的NFC读写方法,首先利用美国标准信息交换代码表,将写入的16进制数据转为可识别的数据,方便对写入数据的读取,以便查看;在写入数据方面,加入了对中文的支持,并消除了对写入数据长度的限制,利用数组元素复制方法对数据的byte型进行处理,对长度不足16位的补0,长度超过16位了的自动转行并写入到下一个块,同时跳过扇区的尾块,且可以自动转到下一个扇区,因此可以写入小于NFC卡片内存的任意长度的数据。本发明提供了一种读取方便,写入自由度高,对卡片内存零破坏的NFC卡片读取方法。
【IPC分类】G06K17/00
【公开号】CN104915696
【申请号】CN201510390416
【发明人】张贵军, 龚伟奇, 陈铭, 王宇凯, 姚俊, 贺智远, 周晓根
【申请人】浙江工业大学
【公开日】2015年9月16日
【申请日】2015年7月1日
...
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1