最近在研究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信息了,

希望能帮到大家!

关于android的nfc问题的更多相关文章

  1. NFC(7)向NFC硬件写入数据的两个示例(nfc硬件启动android应用,nfc硬件打开uri)

    向NFC标签写入数据基本步骤 1,获取Tag对象 Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); 2,判断NFC标签的数据类型(通 ...

  2. Android下NFC的简单使用

    现在很多手机已经配备了NFC(Near Field Communication 近场通信)的功能,我就为此专门研究过,可以到本文末尾下载源代码. Android官方资料:http://develope ...

  3. Android训练课程(Android Training) - NFC基础

    NFC 基础 本文档介绍了在Android上的基本的NFC任务.它说明了如何发送和接收的NDEF消息(NDEF messages)的形式的表单里包含的NFC数据(NFC data),并介绍Androi ...

  4. Android之NFC

    来源:http://blog.csdn.net/bear_huangzhen/article/details/46333421 NFC简介: Near Field Communication 近场通信 ...

  5. 5.Android之NFC介绍

    NFC简介: Near Field Communication 近场通信,是一种数据传输技术. 与wifi.蓝牙.红外线等数据传输技术的一个主要差异就是有效距离一般不能超过4cm. NFC支持3种工作 ...

  6. android的nfc卡模拟开发

    这是andorid官方文档对于卡模拟方式的描述: https://developer.android.google.cn/guide/topics/connectivity/nfc/hce 有两种方式 ...

  7. Android系统移植与调试之------->如何修改Android手机NFC模块,使黑屏时候能够使用NFC

    我们都知道在不修改源代码的情况下,只能是解锁之后才能使用NFC功能.而在锁屏和黑屏2个状态下是没办法用NFC的,但是最近有个客户要求手机在黑屏状态下能够使用NFC,因此我们需要去修改Android源代 ...

  8. android通过NFC开启/关闭NTAG213的密码保护功能

    穷遍全网没有资料,最后找到了官方的寄存器文档和StackOverflow上找到了解决方案 首先要用 MifareUltralight 来进行操作,在onNewIntent处先校验返回的tag是否包含了 ...

  9. android nfc中Ndef格式的读写

    1. 在onCreate()中获取NfcAdapter对象: NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this); 2.在onNewI ...

随机推荐

  1. FastStone Capture(FSCapture) 注册码 _图形图像_软件教程_脚本之家

    FastStone Capture(FSCapture) 注册码 _图形图像_软件教程_脚本之家 FastStone Capture 注册码 序列号: name/用户名:TEAM JiOO key/注 ...

  2. imagemagick /tmp/magick-xxxxxxxx

    问题 imagemagick在某种场景下会狂写/tmp目录,文件名形如magick-xxxxxxxx, ls -lh查看这些文件达到几百G, du -sh查看则只有几十M 被这个问题折磨了许久,大晚上 ...

  3. cocos2d-x3.6 连连看连通画线

    我的博客:http://blog.csdn.net/dawn_moon 网上看到非常多人写的连连看,都没有画连线的实现.事实上要话连线挺简单的.cocos2d-x 提供了一个非常方便的绘图形的类.Dr ...

  4. Runtime.getRuntime().exec中命令含有括号问题

    在写批量运行bat工具的时候.想起了之前写的定时小工具里面的运行方法. 使用Runtime.getRuntime().exec方法. Runtime.getRuntime().exec("c ...

  5. C++拷贝构造函数详解

    转自:http://blog.csdn.net/lwbeyond/article/details/6202256 对于一个空类,编译器默认生成四个成员函数:默认构造函数.析构函数.拷贝构造函数.赋值函 ...

  6. 利用KVC使用自定义的控件

    KVC简单使用: 可以用来设置属性的值例如有个Person类下有个属性name [self setvalue:@"yourname" forkey:@"name" ...

  7. 基于Sql Server 2008的分布式数据库的实践(一)

    原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选 ...

  8. c#语法与c++ 及 java语法的对比分析

    早期开发的时候一直用c/c++,后来主要用的是java.最近需要用下c#. 熟悉了下c#,发现c#语言在对c/c++基础上做了很多简化,同时参考了很多java的语法习惯,本来在语法上c/c++就有很多 ...

  9. mongoose 数据库操作 - 分页

    使用mongoose 加入分页方法,临时还没发现什么更好的方法,我使用的方法是,直接在源代码中加入 找到 node_modules/mongoose/lib/model.js打开这个文件.里面加入这段 ...

  10. Struct初学的,页面跳转

    Filter控制器 jsp页面代码 <form action="page_login.action" method="post">     user ...