# ActivateDeviceByIoT
对于使用这种方式激活的设备,所有其他接口都需在该接口调用成功后才能使用,失败时请重试。
支付设备通过 IOT 方式直接激活设备。
仅 WMPF < 2.1.0 支持
# 调用参数
属性 | 说明 |
---|---|
hostAppId | 移动应用的 AppId ,微信开放平台申请 |
# 返回参数
属性 | 说明 |
---|---|
invokeToken | 调用凭证,用于后续操作 |
# 示例代码
val request = WMPFActivateDeviceByIoTRequest().apply {
this.baseRequest = WMPFBaseRequestHelper.checked()
this.hostAppId = hostAppId
}
val result = WMPFIPCInvoker.invokeAsync<IPCInvokerTask_ActivateDeviceByIoT,
WMPFActivateDeviceByIoTRequest, WMPFActivateDeviceByIoTResponse>(
request,
IPCInvokerTask_ActivateDeviceByIoT::class.java,
object : IPCInvokeCallbackEx<WMPFActivateDeviceByIoTResponse> {
override fun onBridgeNotFound() {
it.onError(Exception("bridge not found"))
}
override fun onCallback(response: WMPFActivateDeviceByIoTResponse) {
if (isSuccess(response)) {
if (response != null && !response.invokeToken.isNullOrEmpty()) {
initInvokeToken(response.invokeToken)
}
it.onSuccess(response)
} else {
it.onError(TaskErrorException(createTaskError(response)))
}
}
override fun onCaughtInvokeException(exception: java.lang.Exception?) {
if (exception != null) {
it.onError(exception)
} else {
it.onError(java.lang.Exception("null"))
}
}
})
if (!result) {
it.onError(Exception("invoke activateDeviceByIoT fail"))
}
# 注意
- 强烈推荐注册 onBridgeNotFound 、onCallback 失败回调,一旦激活失败,请重试。
- 可以先通过 AuthorizeStatus 判断是否设备是否已激活。