You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tizen5.5手表如何使用HCE/SE功能模拟指定RFID卡ID

核心问题排查与修改方案

1. 核心概念误区纠正

你配置文件中填写的aid参数不是你需要自定义的卡片ID:

  • 读卡器识别到的AABBCCDD是NFC卡片的UID(唯一标识符),属于NFC底层通信的标识
  • AID(应用标识符)是ISO 7816协议中用于区分卡内不同应用的标识,只有读卡器发送SELECT AID指令匹配到你注册的AID时,系统才会把通信事件转发给你的HCE应用,二者完全没有关联。

2. 现有配置与调用的错误点

  • 你调用nfc_manager_get_se_type返回NFC_SE_TYPE_ESE,说明当前卡模拟使用的是嵌入式安全单元(硬件SE),不是你需要的主机卡模拟(HCE)模式,因此HCE事件回调无法收到消息
  • 你配置的myrfid.xml中se_type="hce"和当前启用的ESE模式完全不匹配,配置不会生效
  • wallet区块的作用是向系统注册你的HCE应用支持的AID列表,用于系统匹配读卡器的AID选择请求,和自定义UID无关。

3. 具体修改步骤

  • 切换SE类型为HCE:调用nfc_manager_set_se_type(NFC_SE_TYPE_HCE),切换后重新调用nfc_se_get_card_emulation_mode确认模式为开启状态
  • 修正配置文件:将配置中的aid改为符合ISO 7816规范的自定义私有AID(例如F011223344),不需要填写你要设置的UID值
  • 添加必要权限:在应用manifest中添加两项权限:
    • http://tizen.org/privilege/nfc.cardemulation(普通卡模拟权限)
    • http://tizen.org/privilege/nfc.admin(管理权限,用于修改SE类型、自定义UID,需要平台级签名才能使用)
  • 自定义UID设置:Tizen 5.5穿戴设备的HCE扩展API支持自定义UID,调用nfc_hce_set_uid(const unsigned char *uid, int uid_len)接口传入你要设置的11223344对应的字节数组即可
  • 调整回调注册逻辑:切换到HCE模式后重新注册nfc_manager_set_hce_event_cb,当读卡器匹配到你注册的AID后就能收到对应的通信事件。

4. 最终排查项

如果修改后仍无法正常工作,进入系统设置→NFC→卡模拟页面,确认你的应用被设置为默认卡模拟应用,避免系统将事件转发给默认钱包应用。


内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 22:18:02