跳转至

状态与错误码

最后更新:

业务方法优先通过记录或 EvccOperationResult.status 返回状态;Binder 连接死亡、Parcelable 不兼容等 传输问题则表现为 Android 异常或 SDK 连接事件。

状态 含义与处理
OK 操作完成
ACCEPTED 请求部分接受或异步任务已接收;等待逐项结果/回调
PENDING 正在初始化,尚无最终值
AVAILABLE 属性或变量当前值可用
UNAVAILABLE 来源当前不可用;可等待来源恢复
TIMEOUT 本次读取、目录或任务超时;不要无间隔重试
UNSUPPORTED 当前来源、车型或版本不支持
NOT_FOUND ID、名称、变量或动作不存在
AMBIGUOUS_SOURCE 多来源匹配且策略要求唯一;查看候选或指定来源
AMBIGUOUS_AREA 多个区域无法自动选择;指定 areaId
INVALID_ARGUMENT 参数、类型、变量名、页令牌或长度无效
PERMISSION_DENIED 当前授权不包含所需权限;由用户在 EVCC 中处理
RATE_LIMITED 同步调用、属性写入、动作、全量扫描或 Shell 并发超过限制;按提示等待并退避
PAYLOAD_TOO_LARGE 单条记录、动作参数或结果超过安全 Binder 预算;缩小字段/页大小,不能原样重试
SERVICE_DISABLED 云端关闭 EVCC 开放 API,或当前应用授权已不可用
SESSION_CLOSED 会话已经关闭、撤权或失效;重新读取授权状态
CANCELLED 异步任务已取消或取消请求被接受
FAILED 已执行但失败;记录 requestId、message 和来源状态排障

推荐分层处理

  1. AVAILABLE / OK:消费结果。
  2. AMBIGUOUS_* / INVALID_ARGUMENT / PAYLOAD_TOO_LARGE:修正选择器、分页或数据大小,不自动原样重试。
  3. PERMISSION_DENIED / SERVICE_DISABLED:提示用户进入 EVCC,不循环绑定。
  4. UNAVAILABLE / TIMEOUT:有限退避并监听来源状态。
  5. SESSION_CLOSED 或 Binder death:由 SDK 重绑;会话恢复后重新读取基线。
  6. FAILED:保留 requestId,使用 Demo 或 EVCC 开放 API 控制台查看结构化审计日志。

不要向普通用户显示堆栈、车辆内部协议类名或原始敏感值。开发者导出日志时也应默认脱敏。

API 1.1 音乐能力

新增 STALE_RESOURCE:请求的歌曲或资源版本已过期,应重读状态;不要把另一个版本的数据写入旧状态。音乐 state 的 SERVICE_DISABLED 不表示整个会话关闭。资源 PENDING/NOT_FOUND 不代表连接失败。

音量写入的不确定结果

音量写入返回 TIMEOUT 或发生 Binder/传输异常时,不能推断没有执行。尤其不要直接重试 adjustVolumeGroup。恢复连接后显式读取系统值,再根据新状态生成操作;请求 ID 不是幂等键。见音量组。