NFC程序设计(三)自动运行程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NdefMessage信息结构
NdefRecord中的常用方法
1.可通过NdefRecord.getTnf()方法来获得TNF字段; 2.通过NdefRecord.getType()方法来获得RTD字段,当TNF为
TNF_WELL_KNOWN时的RTD。 3.通过NdefRecord.getPayload()方法来获得实际读写的数据。 4.通过NdefRecord.getId()方法来获得NFC标签的ID号。
第3讲 NFC程序设计(三)
1、检查上次作业 2、检查预习题目 3、上次课程的总结 4、NDEF的Uri格式结构 5、android应用程序记录的创建 6、NFC的前台调度系统 7、应用示例 8、本次课的作业 9、下次课的预习内容
7、应用示例
第3讲 NFC程序设计(三)
5、android应用程序记录
1、在Android4.0中引入应用程序记录(AAR),当扫描到写入AAR 的NFC标签时,启动相应的应用程序。
2、AAR有嵌入到NdefRecord内部的应用程序包名。Android会针对 AAR来搜索整个NdefMessage,如果找到一个AAR,就会基于AAR 内部的包名来启动应用程序。
1、检查上次作业 2、检查预习题目 3、上次课程的总结 4、NDEF的Uri格式结构 5、android应用程序记录的创建 6、NFC的前台调度系统 7、应用示例 8、本次课的作业 9、下次课的预习内容
6、NFC的前台调度系统
将处理NFC标签的权利交给某个窗口(优先级最高) 1、在onCreate()中获得NfcAdapter对象;
3.通过Tag创建Ndef对象; Ndef ndef = Ndef.get(tag);
4.将文本等数据封装成NdefMessage;
NDEF格式标签的写入流程
5.判断是否为NDEF格式标签, 若是NDEF格式:
(1)允许进行标签操作:ndef.connect(); (2) 调用ndef.writeNdefMessage(NdefMessage)方法写入。
9、下次课的预习内容
1、Mifare标签的分类和存储结构 2、MifareClassic类中的常用方法及用途
END
编写一个自动手机背景设置标签,能修改闹钟的时间设置 和闹钟的开启。
第3讲 NFC程序设计(三)
1、检查上次作业 2、检查预习题目 3、上次课程的总结 4、NDEF的Uri格式结构 5、android应用程序记录的创建 6、NFC的前台调度系统 7、应用示例 8、本次课的作业 9、下次课的预习内容
2、创建与该Activity关联的PendingIntent;
3、指定一个用于处理NFC标签的窗口;通常会在onResume()方 法中采用nfcAdapter.enableForegroundDispatch()来实现;
4、禁止窗口处理NFC标签。采用 nfcAdapter.disableForegroundDispatch()来实现。
3.对NdefMessage对象进行解析,获取相关的文本信息或 Uri等。
NDEF格式标签的写入流程
1. 在onCreate()中获取NfcAdapter对象;
2.在onNewIntent()中获取Tag对象; Tag tag =
intent.getParcelableExra(NfcAdapter.EXTRA_TAG);
1、检查上次作业 2、检查预习题目 3、上次课程的总结 4、NDEF的Uri格式结构 5、android应用程序记录的创建 6、NFC的前台调度系统 7、应用示例 8、本次课的作业 9、下次课的预习内容
8、本次课的作业
在上次电子名片标签的作业上,添加个人网址信息。在扫 描过标签后,除了将名片自动保存到通信录,手机还能自 动加载标签所设置的网址。
若非NDEF格式: (1)获得可以格式化和向标签写入数据的NdefFormatable对象; NdefFromatable format = NdefFromatable.get(); (2)允许进行标签操作:format.connect();
(2) 调用format.format(NdefMessage)方法写入。
编写一个电子名片标签的软件,要求能支持NDEF文本格式 读写。名片能显示姓名,电话号码等信息。
第3讲 NFC程序设计(三)
1、检查上次作业 2、检查预习题目 3、上次课程的总结 4、NDEF的Uri格式结构 5、android应用程序记录的创建 6、NFC的前台调度系统 7、应用示例 8、本次课的作业 9、下次课的预习内容
launchMode为singleTask的时候,通过Intent启到一个Activity,如果系统 已经存在一个实例,系统就会将请求发送到这个实例上,但这个时候,系统就不会 再调用通常情况下我们处理请求数据的onCreate方法,而是调用onNewIntent 方法。
系统可能会随时杀掉后台运行的 Activity ,如果这一切发生,那么系统就会调 用 onCreate 方法,而不调用 onNewIntent 方法,一个好的解决方法就是 在 onCreate 和 onNewIntent 方法中调用同一个处理数据的方法。
1、调用NdefRecord类的creatApplicationRecord()方法来创 建应用程序记录。
2、将所创建的AAR嵌入到NdefMessage中。 NdefMessage msg = new NdefMessage(new
Ndefrecord[]{…,NdefRecord. creatApplicationRecord(“com.example.android.beam”) })
3、NFC标签调度系统对包含AAR标签的调度: 1.若跟Intent匹配的Activity也跟AAR匹配,则启动该
Activity; 2.若跟Intent匹配,而跟AAR不匹配,则启动AAR指定的应用
程序; 3.如果没有跟AAR对应的应用程序,则启动各种市场来下载对
应基于AAR的应用程序。
android应用程序记录创建方法
3、除非AAR是你NdefMessage中的唯一记录,否则不要将AAR 嵌入到NdefMessage的第一条记录。
Activity中的onNewIntent方法
如果IntentActivity处于任务栈的顶端,也就是说之前打开过的Activity,现在 处于onPause、onStop状态的话,其他应用再发送Intent的话,执行顺序为: onNewIntent,onRestart,onStart,onResume。
2、上次课预习内容
1、anndroid应用程序记录(AAR) 2、让手机通过标签自动运行程序 3、让手机通过标签自动打开网页
第3讲 NFC程序设计(三)
1、检查上次作业 2、检查预习题目 3、上次课程的总结 4、NDEF的Uri格式结构 5、android应用程序记录的创建 6、NFC的前台调度系统 7、应用示例 8、本次课的作业 9、下次课的预习内容
2、NdefMessage中的paylaod就是实际的数据,其中NDEF文本格式 为:
payload0 payload1
payloadn
Uri前缀 具体数据(UTF8)
2、前缀需要查表解析
第3讲 NFC程序设计(三)
1、检查上次作业 2、检查预习题目 3、上次课程的总结 4、NDEF的Uri格式结构 5、android应用程序记录的创建 6、NFC的前台调度系统 7、应用示例 8、本次课的作业 9、下次课的预习内容
onNewIntent()中的setIntent()和getIntent(),如果没有调用 setIntent(intent),则getIntent()获取的数据将不是你所期望的。所以最好 是调用setIntent(intent),这样在使用getIntent()的时候就不会有问题了。
第3讲 NFC程序设计(三)
NDEFBiblioteka Baidu式标签的读取流程
1.在onCreate()中获取NfcAdapter对象; 2.在onNewIntent()中判断是否为NDEF格式标签
(ACTION_NDEF_DISCOVERED),若是则获取NdefMessage 信息;(需要强制转换成NdefMessage对象) Parcelable[] rawMsgs = getIntent().getParcelableArrayExtra(NfcAdapter.EXT RA_NDEF_MESSAGES)
1、检查上次作业 2、检查预习题目 3、上次课程的总结 4、NDEF的Uri格式结构 5、android应用程序记录的创建 6、NFC的前台调度系统 7、应用示例 8、本次课的作业 9、下次课的预习内容
4、NDEF Uri格式
1、 NDEF格式中与Uri相关的类型有:TNF_ABSOLUTE_URI(直接Uri 格式);TNF_WELL_KNOWN中RTD_URI(带前缀表,需要解码)。
NDEF文本格式
1、NdefMessage中的paylaod就是实际的数据,其中NDEF文本格式 为:
payload0 payload1
payloadn
状态字节
ISO语言编码 (ASCLL)
文本数据 (UTF8/UTF16)
0:UTF-8 0 1:UTF-16
语言编码长度 (5-0)
第3讲 NFC程序设计(三)
手机短距离通信技术
第3讲 NFC程序设计(三)
1、检查上次作业 2、检查预习题目 3、上次课程的总结 4、NDEF的Uri格式结构 5、android应用程序记录的创建 6、NFC的前台调度系统 7、应用示例 8、本次课的作业 9、下次课的预习内容
1、上次课的作业