推广 热搜: 公司  快速  中国  上海    未来  企业  政策  教师  系统 

Android NFC开发(一)手机客户端「Android NFC开发(一)」

   日期:2025-01-11     作者:7166h1    caijiyuan   评论:0    移动:http://fabua.ksxb.net/mobile/news/6614.html
核心提示:       前段时间由于工作需要,对NFC做了一些学习以及项目上的应用,最近工作不是很忙,给大家更新一

在这里插入图片描述

       前段时间由于工作需要,对NFC做了一些学习以及项目上的应用,最近工作不是很忙,给大家更新一下NFC连载篇,大家可以共同学习进步

NFC开发 —————实现NFC手机做门禁卡的方法(二
NFC开发 —————ID卡、IC卡(M1卡、CPU卡)的区别(三
NFC开发 —————实用工具以及开发文档(四

       简介:即近距离无线通讯技术。这个技术由免接触式射频识别(RFID)演变而来,由飞利浦半导体(现恩智浦半导体)、诺基亚和索尼共同研制开发,其基础是RFID及互连技术。近场通信是一种短距高频的无线电技术,在13.56MHz频率运行于20厘米距离内。其传输速度有106 Kbit/秒、212 Kbit/秒或者424 Kbit/秒三种。目前近场通信已通过成为ISO/IEC IS 18092国际标准、EMCA-340标准与ETSI TS 102 190标准。

NFC三种设计模式
在这里插入图片描述

  1. 读卡器模式

数据在NFC芯片中,可以简单理解成“刷标签”。本质上就是通过支持NFC的手机或其它电子设备从带有NFC芯片的标签、贴纸、名片等媒介中读写信息。通常NFC标签是不需要外部供电的。当支持NFC的外设向NFC读写数据时,它会发送某种磁场,而这个磁场会自动的向NFC标签供电。

  1. 仿真卡模式

数据在支持NFC的手机或其它电子设备中,可以简单理解成“刷手机”。本质上就是将支持NFC的手机或其它电子设备当成借记卡、公交卡、门禁卡等IC卡使用。基本原理是将相应IC卡中的信息凭证封装成数据包存储在支持NFC的外设中 。
在使用时还需要一个NFC射频器(相当于刷卡器)。将手机靠近NFC射频器,手机就会接收到NFC射频器发过来的信号,在通过一系列复杂的验证后,将IC卡的相应信息传入NFC射频器,最后这些IC卡数据会传入NFC射频器连接的电脑,并进行相应的处理(如电子转帐、开门等操作)。

  1. 点对点模式

该模式与蓝牙、红外差不多,用于不同NFC设备之间进行数据交换,不过这个模式已经没有有“刷”的感觉了。其有效距离一般不能超过4厘米,但传输建立速度要比红外和蓝牙技术快很多,传输速度比红外块得多,如过双方都使用Android4.2,NFC会直接利用蓝牙传输。这种技术被称为Android Beam。所以使用Android Beam传输数据的两部设备不再限于4厘米之内。
点对点模式的典型应用是两部支持NFC的手机或平板电脑实现数据的点对点传输,例如,交换图片或同步设备联系人。因此,通过NFC,多个设备如数字相机,计算机,手机之间,都可以快速连接,并交换资料或者服务。

NFC、蓝牙和红外之间的差异

在这里插入图片描述
卡片的分类

后期会专门出一篇文章对卡片分类做一些讲解(ID卡、IC卡(M1卡、CPU卡)的区别

卡模拟模式可实现的应用
1、基于HCE应用
1、)公交卡(虚拟卡
软件厂家与交通部等联合推出的交通联合标准的公交云卡。如:福建出行助手。
2、)银行卡(虚拟卡
各银行APP开通的云闪付,联机闪付。如:银行APP的云闪付。
2、基于NFC-SWP应用(电信钱包/移动和包/联通沃钱包
1、)公交卡(实体异形卡
当地运营商与各城市一卡通公司合作开通的NFC公交应用。如:成都电信的手机天府通。
2、)银行卡(实体异形卡,已没落。
运营商与各银行或银联开通的银行卡应用。如:电子借记卡/贷记卡,联机闪付;电子现金卡,脱机闪付。
3、)门禁卡/消费卡(实体异形卡
运营商与各学校或企业合作开通的手机一卡通,直接用NFC手机代替校园卡或企业卡等。如:电信的校园翼机通。
3、基于eSE应用
1、)公交卡(实体异形卡
手机厂家与部分城市一卡通合作开通的公交卡。如:Mi Pay、Huawei Pay等支持开通部分城市公交卡。
2、)银行卡(虚拟卡
手机厂家与银联及银行合作开通的银行卡。如:Apple Pay、Sumsung Pay、huawei Pay、Mi Pay等绑定银行卡开通的虚拟卡,联机闪付。

读写模式可实现的应用(常用)
1、)都都宝手机客户端
天府通卡的电子钱包充值。
2、)卡卡联手机客户端
可为银行闪付卡(金融IC卡)的电子现金账户充值(圈存)。
3、)银联钱包的‘生活’中‘拍拍卡’
可为银行闪付卡(金融IC卡)的电子现金账户充值(圈存)。

非主流卡模拟应用(基于NFC-SD应用
1、)公交手环或手表,如刷刷手环、怡康(Walker)手环等。
2、)银行手环或手表,如兴动力手环等。
3、)公交及银行手环或手表,如拉卡拉手环或手表。


Android的NFC标签调度系统

当手机发现外部NFC的标签(指含有NFC功能的设备)时,Android系统会寻找可以处理这个标签的Activity,那怎么知道哪个Activity能处理这条NFC消息呢?答案是清单文件,我们需要在清单文件中设置intent-filter。系统会分发NFC消息到设置intent-filter的Activity中,当然,接收NFC消息也有优先级之分,也是通过设置intent-filter来设置接收NFC消息的优先级的。

NFC的标签调度系统绑定了3中intent,按优先级的高低列出,如下

  1. ACTION_NDEF_DISCOVERED:如果扫描到包含此Intent的Activity,并且可识别其类型,则使用此 Intent
    启动 Activity。这是优先级最高的 Intent,NFC标签调度系统会尽可能尝试使用此 Intent 启动
    Activity,在找不到这个Intent时才会尝试使用其他 Intent。
  2. ACTION_TECH_DISCOVERED:如果没有登记要处理 ACTION_NDEF_DISCOVERED Intent 的
    Activity,则标签调度系统会尝试使用此 Intent 来启动应用。此外,如果扫描到的标签包含无法映射到 MIME 类型或 URI
    的 NDEF 数据,或者该标签不包含 NDEF 数据,但它使用了已知的标签技术,那么也会直接启动此 Intent(无需先启动
    ACTION_NDEF_DISCOVERED)。
  3. ACTION_TAG_DISCOVERED:如果没有处理 ACTION_NDEF_DISCOVERED 或者
    ACTION_TECH_DISCOVERED Intent 的 Activity,则使用此 Intent 启动 Activity。

在这里插入图片描述


Tag支持的技术标准

在这里插入图片描述

  1. 卡片常用的数据格式
    MifareClassic数据格式就是NfcA。
    IsoDep:各种公交卡。
    NfcB:二代身份证。
    NfcF:Felica。
    NfcV:德州仪器的VicinityCard
    Ndef:安卓主流的传输数据格式。

  2. 跟NFC有关的常见的ISO标准有

最后这里简单的教大家如何使用NFC
NFC集成以及配置

清单文件里面的配置

 

对执行读取设备数据的activity配置

 

nfc_tech_filter:

 

我在做NFC的时候,对其抽了一个基类

 

对用户是否已经开启NFC权限处理

 

下面就是读取NFC设备数据的操作

本文地址:http://fabua.ksxb.net/news/6614.html    海之东岸资讯 http://fabua.ksxb.net/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新资讯
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号