指导你构建含会话创建、相机串流与拍照功能的完整 DAT 应用
该技能材料显示其为开源的 Android 示例/指南型内容,未要求密钥或远程端点,整体风险较低。其描述涉及相机流与照片保存,存在设备数据访问相关能力,但从现有材料看更符合示例开发文档的常规范围。
材料明确标注无需密钥或环境变量,README 中也未见 API token、账号凭证或凭证注入步骤,凭证泄露与滥用面较小。
系统检查项显示无远程端点,材料主要描述本地 Android 集成、会话创建与相机流处理;虽提到注册与会话,但未见将用户数据外发至第三方服务的明确证据。
该对象被判定为 prompt-only,材料内容是开发说明与示例代码片段,不是可直接执行的安装脚本或本机进程启动器;未见申请超出声明功能的系统执行权限。
README 明确涉及相机流读取与拍照后保存图片,说明应用可能访问摄像头与本地存储/媒体数据。这属于其声明功能的正常范围,但仍需关注实际实现中的权限申请与保存位置。
来源为 GitHub 开源仓库,系统标注 open-source,且有一定社区采用度(289 stars),这些都是降低风险的正面证据。许可证未声明、维护状态未知,带来一定不确定性,但基于现有材料不足以升为高风险。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "sample-app-guide" 技能: 1. 下载 https://raw.githubusercontent.com/facebook/meta-wearables-dat-android/main/plugins/mwdat-android/skills/sample-app-guide/SKILL.md 2. 保存为 ~/.claude/skills/sample-app-guide/SKILL.md 3. 装好后重载技能,告诉我可以用了
请一步步指导我搭建一个完整的 DAT 应用,包含会话创建、相机视频流显示和拍照保存功能,并给出项目结构与关键代码示例。
一套分步骤开发指南,包含架构说明、代码片段与功能实现顺序。
我在 DAT 应用里接入相机流时遇到黑屏问题,请根据会话初始化、权限申请、流绑定和拍照逻辑,帮我列出排查步骤与修复建议。
针对相机黑屏问题的诊断清单,附带常见原因与对应修复方法。
请为 DAT 应用生成拍照功能的示例代码,要求与现有会话和相机流模块配合,并说明触发拍照、保存图片和错误处理的实现方式。
可集成的拍照代码示例,以及关键接口、保存流程和异常处理说明。
Build an Android DAT app with registration, sessions, camera streaming, and photo capture.
Pair this with the CameraAccess sample.
AndroidManifest.xml for registration callbacks and APPLICATION_ID.Wearables in your Application.app/src/main/java/com/example/myapp/
├── MyApplication.kt
├── MainActivity.kt
├── session/
│ └── SessionViewModel.kt
└── ui/
├── RegistrationScreen.kt
└── CameraScreen.kt
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
lifecycleScope.launch {
Wearables.registrationState.collect { state ->
// Update registration UI
}
}
}
fun register() {
Wearables.startRegistration(this)
}
}
class SessionViewModel : ViewModel() {
private var session: Session? = null
private var stream: Stream? = null
fun startCameraSession() {
val createdSession = Wearables.createSession(AutoDeviceSelector()).getOrElse { error ->
throw IllegalStateException(error.description)
}
createdSession.start()
session = createdSession
stream = createdSession.addStream(
StreamConfiguration(videoQuality = VideoQuality.MEDIUM, frameRate = 24),
).getOrElse { error ->
throw IllegalStateException(error.description)
}.also { addedStream ->
addedStream.start().getOrElse { error ->
throw IllegalStateException(error.description)
}
}
}
}
viewModelScope.launch {
stream?.videoStream?.collect { frame ->
// Render preview
}
}
fun capturePhoto() {
viewModelScope.launch {
stream?.capturePhoto()
?.onSuccess { photoData ->
savePhoto(photoData.data)
}
?.onFailure { error, _ ->
showCaptureError(error.description)
}
}
}
fun stopCameraSession() {
stream?.stop()
session?.stop()
stream = null
session = null
}
Use MockDeviceKit to simulate linking glasses, permission state, and camera media without physical hardware. See MockDevice Testing for setup details.
帮助用户配置摄像头会话与视频流,并完成拍照及分辨率帧率设置
帮助开发者管理会话与流状态,并处理暂停恢复及设备可用性监控
帮助开发者掌握 DAT SDK Android 的 Kotlin 约定、结果处理与会话能力规范。
帮助开发者完成 Meta 眼镜安卓 SDK 接入与首次设备连接
使用 MockDeviceKit 在无实体眼镜硬件时进行功能联调与测试验证
帮助排查常见故障、版本兼容与会话流诊断问题,提升开发调试效率
帮助用户构建含摄像头串流与拍照功能的完整 DAT 应用示例。
连接摄像头进行视频流、抓取画面并灵活配置分辨率与帧率。
帮助开发者梳理 Meta AI 应用注册与相机权限申请流程
帮助开发者掌握 DAT SDK 的 Swift 规范、命名与异步开发模式
自动录制专业感网页应用界面演示视频,适合讲解、教程与产品展示
帮助开发者在本地快速开发、原型验证并调试带界面的 MCP 应用