指导你构建含会话创建、相机串流与拍照功能的完整 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.
帮助用户配置摄像头会话与视频流,并完成拍照及分辨率帧率设置
帮助开发者管理会话与流状态,并处理暂停恢复及设备可用性监控
帮助排查常见故障、版本兼容与会话流诊断问题,提升开发调试效率
帮助开发者完成 Meta AI 应用注册与设备权限接入流程配置。
帮助开发可视化界面,完成显示设备选择、控件配置与多媒体播放集成。
帮助开发者掌握 DAT SDK Android 的 Kotlin 约定、结果处理与会话能力规范。
帮助用户构建含摄像头串流与拍照功能的完整 DAT 应用示例。
连接摄像头进行视频流、抓取画面并灵活配置分辨率与帧率。
帮助开发者梳理 Meta AI 应用注册与相机权限申请流程
帮助开发者掌握 DAT SDK 的 Swift 规范、命名与异步开发模式
自动录制专业感网页应用界面演示视频,适合讲解、教程与产品展示
帮助开发者在本地快速开发、原型验证并调试带界面的 MCP 应用