先向平台确认目标眼镜型号、Host 版本和应用授权。在清单中声明所需能力及权限。拍照和录像需要 Android 相机权限,也会受前台状态和设备占用约束。
| 用途 | SDK | 需要的权限 |
|---|---|---|
| 拍照 | glass.camera.capture({ idempotencyKey }) |
camera.capture。查询结果还需要 operations.durable。 |
| 录像 | glass.recording.start({ idempotencyKey })、glass.recording.stop({ operationId }) |
camera.recording、operations.durable 及目标设备所需的系统授权。 |
| 文件信息 | glass.files.stat(fileId) |
files.preview。 |
| 预览 | glass.files.getPreviewUrl(fileId) |
files.preview。 |
| 释放引用 | glass.files.release(fileId) |
files.preview。 |
| 上传、下载 | glass.files.upload()、glass.files.download() |
见 受管联网与文件传输。 |
预览与保留
拍照成功返回 fileId。保存该 ID,在当前页面通过 getPreviewUrl 取得地址后交给图片元素。页面重载或重新打开时,用原 fileId 重新取地址。预览地址绑定当前应用与页面上下文。元数据可用 stat 获取,含 MIME、字节数、SHA-256,以及适用时的图片尺寸。
应用管理文件引用。仍需恢复的原操作或待上传资料应保留。确认业务流程完成后再释放引用,由 Host 管理实际回收。遇到 FILE_NOT_FOUND 时检查文件是否仍保留以及是否处于原应用和会话范围。
录像停止
录像开始后保存原操作 ID。停止调用返回 stop-requested、already-terminal 或 uncertain,随后查询原操作直至获得终态。成功结果含 fileId、recordingStartedAt 和 recordingEndedAt。当前眼镜 Host 的本地录像为单段无声 MP4,原生控制时长。相机占用或结果未知时按 持久操作 恢复。