android nfc模拟卡ID修改方法

最近正在开发公司的android平台,需要提供NFC读写应用接口。本文章是通过修改android平台源码,在不修改libnfc-nxp.conf文件的前提下,增加本机模拟卡ID的读写方法,使第三方app无障碍进行ID操作。
1.NFC简介:
Near Field Communication 近场通信,是一种数据传输技术。
与wifi、蓝牙、红外线等数据传输技术的一个主要差异就是有效距离一般不能超过4cm。

NFC支持3种工作模式:读卡器模式;仿真卡模式;点对点模式;
仿真卡模式:是将支持NFC的手机或其他电子设备当成借记卡、信用卡、公交卡、门禁卡等IC卡使用;基本原理是将相应的IC卡中的信息(支付凭证)封装成数据包存储在支持NFC的手机中,在使用时还需要一个NFC射频器(相当于刷传统IC卡时使用的刷卡器),将手机靠近NFC射频器,手机就会收到NFC射频器发过来的信号,在通过一系列复杂的验证后,将IC卡的相应信息传入NFC射频器,最后这些IC卡数据会传入NFC射频器连接的计算机,并进行相应的处理(如电子转账、开门等操作)。

2.基于NXP pn548模拟小区门禁卡
小区门禁比较简单,仅4个8bit数作为门禁ID。
NXP pn548的配置是存放在手机System/etc的libnf-nxp.conf文件中的NXP_CORE_CONF的LA_NFCID(33)项.

###############################################################################
# Core configuration settings
# It includes
# 18        - Poll Mode NFC-F:   PF_BIT_RATE
# 21        - Poll Mode ISO-DEP: PI_BIT_RATE
# 28        - Poll Mode NFC-DEP: PN_NFC_DEP_SPEED
# 30        - Lis. Mode NFC-A:   LA_BIT_FRAME_SDD
# 31        - Lis. Mode NFC-A:   LA_PLATFORM_CONFIG
# 32        - Lis. Mode NFC/ISO-DEP: LA_SEL_INFO
# 33        - Lis. Mode NFC-A:   LA_NFCID1
# 50        - Lis. Mode NFC-F:   LF_PROTOCOL_TYPE
# 54        - Lis. Mode NFC-F:   LF_CON_BITR_F
# 5B        - Lis. Mode ISO-DEP: LI_BIT_RATE
# 60        - Lis. Mode NFC-DEP: LN_WT
# 80        - Other Param.:      RF_FIELD_INFO
# 81        - Other Param.:      RF_NFCEE_ACTION
# 82        - Other Param.:      NFCDEP_OP
NXP_CORE_CONF={20, 02, 2E, 0E,
        28, 01, 00,
        21, 01, 00,
        30, 01, 08,
        31, 01, 03,
        32, 01, 20,
        38, 01, 01,
        33, 04, 01, 02, 03, 04,
        54, 01, 06,
        50, 01, 00,
        5B, 01, 00,
        80, 01, 01,
        81, 01, 01,
        82, 01, 0E,
        18, 01, 01
        }

这个文件中33后,04表明长度为4个8bits数,01 02 03 04即为卡ID。
但由于本文件位于system/etc目录下,这个目录的所有文件都是只读的,只有root权限的进程才可以执行写操作,这个并不容易。还好我们有平台源码,下面我们来修改源码。
3.nxp模块初始化

  • 2
    点赞
  • 2
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值