facebook/meta-wearables-dat-android-permissions-registration
App registration with Meta AI and device permission flows
npx skills add https://github.com/facebook/meta-wearables-dat-android --skill permissions-registration
Register your app with Meta AI, then request the device permissions it needs.
The DAT SDK separates two steps:
Both flows depend on the Meta AI app being installed on the phone.
Wearables.startRegistration(activity)
Observe registration state:
lifecycleScope.launch {
Wearables.registrationState.collect { state ->
// Update your registration UI
}
}
To unregister:
Wearables.startUnregistration(activity)
checkPermissionStatus(...) is a suspend API that returns a DatResult.
lifecycleScope.launch {
Wearables.checkPermissionStatus(Permission.CAMERA)
.onSuccess { status ->
if (status == PermissionStatus.Granted) {
startStreaming()
}
}
.onFailure { error, _ ->
showPermissionError(error.description)
}
}
Use Wearables.RequestPermissionContract() with the Activity Result API:
private val permissionLauncher =
registerForActivityResult(Wearables.RequestPermissionContract()) { result ->
result.onSuccess { status ->
if (status == PermissionStatus.Granted) {
startStreaming()
}
}.onFailure { error, _ ->
showPermissionError(error.description)
}
}
fun requestCameraPermission() {
permissionLauncher.launch(Permission.CAMERA)
}
Users can allow once or allow always through the Meta AI flow.
| Mode | Registration behavior |
|------|------------------------|
| Developer Mode | Use mwdat_application_id = 0 and mwdat_client_token = 0 manifest placeholders for local development |
| Production | Use the application ID and client token assigned in the Wearables Developer Center |
For development builds, enable Developer Mode in the Meta AI app before testing registration and permissions.
AndroidManifest.xmlTake facebook/meta-wearables-dat-android-permissions-registration from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.