随笔 - 2649  文章 - 2452  评论 - 0  阅读 - 74060

小程序设备能力 - registerMiniProgramDevice

WMPFMiniProgramDeviceApi.registerMiniProgramDevice

需 WMPF >= 2.1.0 支持,使用前建议阅读注意事项

本接口不需要 WMPFDeviceApi.activateDevice 即可使用。

接入小程序硬件生态的设备注册

注册设备将 modelId 和 SN 与设备绑定。一旦成功后,除非更换存储芯片,否则 appId、modelId、sn 均不能更换

注意事项(调用前必读

  • 注册设备成功后,会将 SN 固化至 EMMC/RPMB 分区中,标定此设备的唯一身份。sn 和 modelId 一经写入后续即不可更改。
  • 此处使用的 SN,必须经过 WMPF 的 addDevice 接口作为 deviceId 注册,并与 WMPF 设备激活时使用的 deviceId 一致。
  • 若 WMPF 缓存被删除重装、清理缓存或 keystone 失效,会报错 cert fail。可以清理 APK 的数据再以相同的 appId、modelId、sn调用接口重新注册即可。
  • 注册过程会有网络请求,时长根据网络情况会有所不同。
  • 注册是否成功以返回值里的 code 为准,而不以接口调用是否成功。

调用参数

属性 类型 说明
appId String 小程序 appId
modelId String 设备接入时从「小程序管理后台」申请获得的 model_id
sn String 设备序列号。厂商自己生成,长度不能超过 128 字节。字符只接受数字,大小写字母,下划线(*)和连字符(-)。 此处使用的 sn 必须与 WMPF 激活设备使用的 deviceId 一致
snTicket String 通过获取设备票据接口获得

返回参数

WMPFRegisterMiniProgramDeviceResponse

属性 类型 说明
code int 错误码,具体含义参加下表
errMsg String 当 code 为 -11 时,错误详情

code 取值

code 值 描述
0 成功
-1 参数错误
-2 通用 IO 错误
-3 KEY 不匹配
-4 网络请求无回复
-5 权限错误
-6 KEY 不可用
-7 rpmbd 服务没运行
-8 EMMC/UFS 不匹配。里面已经存在 SN
-9 EMMC/UFS IO 错误
-10 密钥不存在
-11 其他异常,异常内容可查看 errMsg

示例代码

val miniProgramDeviceApi = WMPF.getInstance().getMiniProgramDeviceApi()
val response = miniProgramDeviceApi.registerMiniProgramDevice(appId, modelId, deviceId, snTicket)
val code = response.code
val errMsg = response.errMsg
if (code == 0) {
  Log.i(TAG, "registerMiniProgramDevice success")
} else {
  Log.e(TAG, "registerMiniProgramDevice fail: " + errMsg)
}
posted on   AtlasLapetos  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示