EVCC 米德宝联动 AIDL v3 协议¶
最后更新:
迁移提示:EVCC 开放 API 1.1 已提供通用音乐、歌词、封面及播放控制。旧服务保留过渡期,字段和原授权规则不变;新接入请阅读 https://evcc.coauto.cc/docs/music/ 与 https://evcc.coauto.cc/docs/migration-midebao/ 。停用须完成客户端验收并另行公告。 引入版本:EVCC 3.1.3。v3 在同一个米德宝 Binder 服务末尾追加独立音乐查询及订阅,保留原车辆属性读取、回调和写入。
版本与兼容¶
| 层次 | 版本 | 变化 |
|---|---|---|
getProtocolVersion() |
3 | 原六个方法后追加三个音乐方法 |
原属性 getSnapshotJson() |
2 | 字段和原回调格式保持不变 |
用户属性配置 version |
1 | 保留原配置,无音乐配置迁移 |
音乐 schemaVersion |
1 | 独立音乐状态与歌词分片 |
旧客户端继续使用原六个方法。新版银河校验能力版本至少为 3 后,注册 IMidebaoMusicCallback。其他旧版客户端的开放读取及属性写入名单不授予音乐权限。
音乐扩展¶
新增 getMusicSnapshotJson()、registerMusicCallback()、unregisterMusicCallback();回调为 onMusicStateChanged() 和 onLyricsChunk()。
音乐共享只对包名、唯一 UID 映射及签名匹配的银河悬浮窗歌词开放,随米德宝 AIDL 开关启停。无需车辆属性、变量或 JSON 配置;属性配置错误不影响音乐通道。数据来自已运行的 EVCC 音乐转发,关闭音乐转发时通知不可用。
歌曲、歌手、专辑、来源、当前行、歌词时间、进度、当前有效 BPM 和播放状态通过音乐状态发送;上游可用的完整歌词按独立版本分片发送。关闭共享或失去音乐会话时清空,普通暂停保留歌曲并冻结进度。
完整端点、三个 AIDL 文件、字段、分片、时序、错误处理及银河端示例说明见独立文件:米德宝 AIDL 音乐接口定义。原属性格式和方法参考:v2 协议。
当前属性权限补充¶
当前实现中,银河的属性读取和 writeProperty() 均沿用米德宝包名、开关与签名策略,不依赖普通旧版应用写入名单。其他客户端在旧版 AIDL 开启时可读,写入仍需用户多选授权及当前签名校验。历史 v2 文档中的“银河只读”描述不适用于当前实现。
新音乐方法校验身份与共享开关分开:共享关闭时合法银河可订阅空状态,无法取得旧数据;原版本查询仍保留读取开关限制。已注册音乐回调可跨普通开关切换保留,Binder 断线后应重新绑定注册。