帮助开发者完成 Meta 眼镜安卓 SDK 接入与首次设备连接
该技能材料本身更像入门文档/提示内容,系统检查也标注为 prompt-only,未声明自身需要密钥或远程端点,整体风险较低。需注意其文档会引导开发者为 Android 应用接入第三方 SDK、权限与 GitHub Packages 令牌,但这些更多属于被集成 SDK 的常规开发要求,而非该技能自身的直接高风险行为。
材料顶部声明该技能自身“无”密钥/环境变量要求。README 中提到仅在拉取 GitHub Packages 依赖时可使用具备 read:packages 范围的 GITHUB_TOKEN,这属于开发期包下载凭证,不是该技能运行时直接收集或外发的敏感凭证需求。
未声明该技能自身连接任何远程 host。文档中出现的网络访问主要是 Android 应用侧的 GitHub Maven 仓库下载及应用所需 INTERNET 权限说明,未见该技能本身将用户数据发送到不明或无关端点的证据。
系统客观检查项标注为 prompt-only,说明其本体更像说明文档而非可执行工具。材料没有显示该技能会在本机启动进程、执行脚本或请求超出说明范围的系统能力。
未见该技能自身读取或写入本地文件、数据库、剪贴板或账户数据的描述。README 提到的 local.properties、AndroidManifest 与应用初始化代码均是开发者手动集成 SDK 时的工程配置,不代表该技能自动获得数据访问权限。
来源为 GitHub 开源仓库,源码可审计,且有一定社区采用度(289 star),这些都是降低风险的正面证据。虽许可证未声明、维护状态未知,但基于现有材料未见闭源分发、不明来源或明显供应链红旗。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "getting-started" 技能: 1. 下载 https://raw.githubusercontent.com/facebook/meta-wearables-dat-android/main/plugins/mwdat-android/skills/getting-started/SKILL.md 2. 保存为 ~/.claude/skills/getting-started/SKILL.md 3. 装好后重载技能,告诉我可以用了
请指导我把 Meta 眼镜相关 SDK 接入现有 Android 项目,包含 Gradle 依赖配置、必要权限、AndroidManifest 设置,以及最小可运行示例。
一套分步骤接入说明,包含配置片段、权限清单和基础示例代码。
我已经完成基础配置,但 Android 应用无法连接 Meta 眼镜。请给我一个从 SDK 初始化、蓝牙/权限检查到连接验证的排查清单。
一份按顺序执行的排查清单,帮助定位初始化、权限或连接流程中的问题。
请为 Meta 眼镜 Android 开发生成一个入门示例项目结构,说明各文件用途,并提供首次连接设备的核心代码流程。
一个清晰的示例项目骨架,附文件说明和首次连接所需的关键代码流程。
Set up the Meta Wearables Device Access Toolkit in an Android app.
read:packages scopeIn settings.gradle.kts:
val localProperties =
Properties().apply {
val localPropertiesPath = rootDir.toPath() / "local.properties"
if (localPropertiesPath.exists()) {
load(localPropertiesPath.inputStream())
}
}
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven {
url = uri("https://maven.pkg.github.com/facebook/meta-wearables-dat-android")
credentials {
username = ""
password = System.getenv("GITHUB_TOKEN") ?: localProperties.getProperty("github_token")
}
}
}
}
In libs.versions.toml:
[versions]
mwdat = "0.7.0"
[libraries]
mwdat-core = { group = "com.meta.wearable", name = "mwdat-core", version.ref = "mwdat" }
mwdat-camera = { group = "com.meta.wearable", name = "mwdat-camera", version.ref = "mwdat" }
mwdat-mockdevice = { group = "com.meta.wearable", name = "mwdat-mockdevice", version.ref = "mwdat" }
In app/build.gradle.kts:
dependencies {
implementation(libs.mwdat.core)
implementation(libs.mwdat.camera)
implementation(libs.mwdat.mockdevice)
}
AndroidManifest.xml<manifest ...>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.INTERNET" />
<application ...>
<meta-data
android:name="com.meta.wearable.mwdat.APPLICATION_ID"
android:value="0" />
<activity android:name=".MainActivity" ...>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myexampleapp" />
</intent-filter>
</activity>
</application>
</manifest>
Use 0 for APPLICATION_ID in Developer Mode. Replace myexampleapp with your app's URL scheme.
import com.meta.wearable.dat.core.Wearables
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
Wearables.initialize(this)
.onFailure { error, _ -> error("Failed to initialize DAT: ${error.description}") }
}
}
import com.meta.wearable.dat.core.Wearables
import com.meta.wearable.dat.core.selectors.AutoDeviceSelector
fun connect(activity: Activity) {
Wearables.startRegistration(activity)
}
fun startSession() {
val session = Wearables.createSession(AutoDeviceSelector()).getOrElse { error ->
throw IllegalStateException(error.description)
}
session.start()
}
Observe registration and available devices:
lifecycleScope.launch {
Wearables.registrationState.collect { state ->
// Update registration UI
}
}
lifecycleScope.launch {
Wearables.devices.collect { devices ->
// Update the device list
}
}
import com.meta.wearable.dat.camera.addStream
import com.meta.wearable.dat.camera.types.StreamConfiguration
import com.meta.wearable.dat.camera.types.VideoQuality
val stream = session.addStream(
StreamConfiguration(videoQuality = VideoQuality.MEDIUM, frameRate = 24),
).getOrElse { error ->
…
帮助用户配置摄像头会话与视频流,并完成拍照及分辨率帧率设置
指导你构建含会话创建、相机串流与拍照功能的完整 DAT 应用
帮助开发者管理会话与流状态,并处理暂停恢复及设备可用性监控
帮助排查常见故障、版本兼容与会话流诊断问题,提升开发调试效率
帮助开发者完成 Meta AI 应用注册与设备权限接入流程配置。
帮助开发可视化界面,完成显示设备选择、控件配置与多媒体播放集成。