最近在研究android的nfc问题


首先再网上有很多关于android nfc 读写的问题,但是大多数都是关于Mifare Classic类型卡的读写,我百试不得骑解,于是自己写了一些程序供大家参考,

我的手机android 4.4,google Nexus4


nfc 卡的类型是:ultralight c


读取ndef关键代码:

public String readNdef(Tag tag) {    String result = null;            Ndef ndef = Ndef.get(tag);        try {ndef.connect();NdefMessage msg = ndef.getNdefMessage();result = new String(msg.toByteArray());} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (FormatException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {try {if(ndef != null && ndef.isConnected()) {ndef.close();ndef = null;}} catch (IOException e) {e.printStackTrace();}}        return result;            }


对nfc有意写了解的人就会知道传入的tag是靠 tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

这么来的,具体的就不多说了,相信大家网上已经搜到了好多


还有写入ndef数据的关键代码


public void writeNdef(Tag tag,String Text) {        Ndef ndef = Ndef.get(tag);        try {ndef.connect();byte[] data = Text.getBytes();  NdefMessage msg = new NdefMessage(                new NdefRecord[] { createMimeRecord(                        "application/com.bjypc.han.googlejuesai", data)        });ndef.writeNdefMessage(msg);} catch (IOException e) {e.printStackTrace();} catch (FormatException e) {e.printStackTrace();} finally {try {if(ndef != null && ndef.isConnected()) {ndef.close();ndef = null;}} catch (IOException e) {e.printStackTrace();}}    }

public NdefRecord createMimeRecord(String mimeType, byte[] payload) {        byte[] mimeBytes = mimeType.getBytes(Charset.forName("US-ASCII"));        NdefRecord mimeRecord = new NdefRecord(                NdefRecord.TNF_MIME_MEDIA, mimeBytes, new byte[0], payload);        return mimeRecord;    }


好了,到此为止我们就成功的读取或写入了ndef卡的ndef信息了,


希望能帮到大家!

更多相关文章

  1. Android(安卓)文件的保存与读取之自带储存空间
  2. android读取keystore证书文件
  3. Android读写XML(上)——package说明
  4. Android串口通信:串口读写实例
  5. Android(安卓)数据存储02之文件读写
  6. 检测Android本地存储是否有敏感信息
  7. android 动态切换主题,动态换肤
  8. android 读取properties文件
  9. Android关于SD卡的读写操作及固定图片大小

随机推荐

  1. Android(安卓)Tasks and Back Stack
  2. 在新建android工程的时候出现This templa
  3. Android(安卓)Studio的使用小贴士
  4. Failed to finalize session : INSTALL_F
  5. 【android之View和ViewGroup介绍】
  6. [置顶] 基于 Android(安卓)NDK 的学习之
  7. Cocos2dx-Android屏幕适配方案
  8. android JNI学习之一
  9. Android实战技巧:Dialog
  10. Notification的功能与用法