Android硬件编程NFC学习笔记(2)
2014-03-26 13:04
295 查看
如何读取含有NDEF数据的标签内容:
当Activity捕获意图并启动时,会有一个intent对象传递过来,其中就包含了标签上的信息:
EXTRA_TAG (必选): 一个代表读取到的标签的 Tag 对象.
EXTRA_NDEF_MESSAGES (可选): 从标签的 NDEF messages 中读取到的一个数据集合. 这个信息是强制的。
{@link android.nfc.NfcAdapter#EXTRA_ID (可选): 标签的低级别的ID.
首先用 Parcelable[] rawArray = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); 得到Parcelable对象存储标签里面的信息,然后用NdefMessage
存储这些信息。
一个读取标签信息的方法:
private String readFromTagDetail(Intent intent){
NdefMessage[] readResult = null;
Parcelable[] rawArray = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
if(rawArray != null){
readResult = new NdefMessage[rawArray.length];
for (int i = 0; i < rawArray.length; i++) {
readResult[i] = (NdefMessage) rawArray[i];
}
}
return readResult.toString();
}
一个读取标签的方法:
private String readFromTag(Intent intent){
//从一个intent得到一个标签对象
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
Parcelable[] rawArray = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
NdefMessage mNdefMsg = (NdefMessage)rawArray[0];
NdefRecord mNdefRecord = mNdefMsg.getRecords()[0];
try {
if(mNdefRecord != null){
String readResult = new String(mNdefRecord.getPayload(),"UTF-8");
return readResult;
}
}
catch (UnsupportedEncodingException e) {
e.printStackTrace();
};
return null;
}
当Activity捕获意图并启动时,会有一个intent对象传递过来,其中就包含了标签上的信息:
EXTRA_TAG (必选): 一个代表读取到的标签的 Tag 对象.
EXTRA_NDEF_MESSAGES (可选): 从标签的 NDEF messages 中读取到的一个数据集合. 这个信息是强制的。
{@link android.nfc.NfcAdapter#EXTRA_ID (可选): 标签的低级别的ID.
首先用 Parcelable[] rawArray = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); 得到Parcelable对象存储标签里面的信息,然后用NdefMessage
存储这些信息。
一个读取标签信息的方法:
private String readFromTagDetail(Intent intent){
NdefMessage[] readResult = null;
Parcelable[] rawArray = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
if(rawArray != null){
readResult = new NdefMessage[rawArray.length];
for (int i = 0; i < rawArray.length; i++) {
readResult[i] = (NdefMessage) rawArray[i];
}
}
return readResult.toString();
}
一个读取标签的方法:
private String readFromTag(Intent intent){
//从一个intent得到一个标签对象
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
Parcelable[] rawArray = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
NdefMessage mNdefMsg = (NdefMessage)rawArray[0];
NdefRecord mNdefRecord = mNdefMsg.getRecords()[0];
try {
if(mNdefRecord != null){
String readResult = new String(mNdefRecord.getPayload(),"UTF-8");
return readResult;
}
}
catch (UnsupportedEncodingException e) {
e.printStackTrace();
};
return null;
}
相关文章推荐
- Android硬件编程NFC学习笔记(3)
- Android硬件编程NFC学习笔记(1)
- Android音乐编程的管理音频硬件
- mono_for_android读书笔记之硬件编程
- Android网络编程之Http通信
- Android编程之Listener侦听的N种写法及实现原理
- Android编程导出APK
- Android 编程下 Touch 事件的分发和消费机制
- Android编程中Perferences的用法实例分析
- (装)Android高性能编程基本规范
- Android 编程之天气预报下来刷新数据及城市容器配置--3
- Android开发手记一 NDK编程实例
- Android 编程之天气预报闹钟启动服务设置界面加载--4
- Android学习笔记:Android网络编程的理解和总结
- Android4.0.4编程日记(5)--URL网络链接获取数据
- Android编程解析Json格式数据的方法
- Android 反射 换一种方式编程
- Android情景模式、文件管理器 完整示例编程详解
- Android中的socket编程(三)
- 基于Android的CPU+GPU的异构编程开发,目前主要有以下几种平台