关于android的nfc问题 Ultralight c (通用卡)

原创 2013年12月04日 23:21:19

最近在研究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 block
			e.printStackTrace();
		} catch (FormatException e) {
			// TODO Auto-generated catch block
			e.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信息了,


希望能帮到大家!

Mifare Ultra Light 非接触式IC卡发卡总结

Mifare Ultra Light 非接触式IC卡发卡总结 概述: 1、  容量512bit,分为16个page,每个page占4byte 2、  每个page可以通过编程的方式...
  • askeil11
  • askeil11
  • 2014年10月13日 16:25
  • 1330

NFC功能介绍及MifareClassic类型的读取数据例子

NFC  NFC即近场通讯功能,NFC是Near Field Communication缩写,即近距离无线通讯技术。由飞利浦公司和索尼公司共同开发的NFC是一种非接触式识别和互联技术,可以在移动设备...
  • u013034750
  • u013034750
  • 2014年02月20日 09:46
  • 2356

ANDROID 一个app中有多个activity读取NFC标签问题

ANDROID 一个app中有多个activity读取NFC标签问题最近在写有关NFC标签读取录入的android APP。由于在AndroidManifest.xml配置使得NFC可以自启动对应ac...
  • eulinze
  • eulinze
  • 2017年04月19日 19:02
  • 204

Android通过NFC读取IC卡示例

  • 2017年03月07日 16:54
  • 376KB
  • 下载

android通过NFC读取公交卡的余额和交易记录

  • 2016年12月19日 17:36
  • 22.97MB
  • 下载

Android读取NFC公交卡

  • 2017年12月19日 14:40
  • 980KB
  • 下载

与智能IC卡交互的Android NFC程序

  • 2014年10月28日 11:24
  • 283KB
  • 下载

Android NFC 读取公交卡信息Demo

  • 2017年12月12日 16:56
  • 571KB
  • 下载

android NFC 读卡

  • 2016年03月07日 11:54
  • 952KB
  • 下载

Android NFC读卡 高频卡 RFID

  • 2018年01月15日 22:05
  • 1.48MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于android的nfc问题 Ultralight c (通用卡)
举报原因:
原因补充:

(最多只允许输入30个字)