El SDK de Matter proporciona una API basada en Task
para iniciar la comisión de Matter.
con parámetros variables, observar el resultado y, opcionalmente, agregar
credenciales, hay situaciones en las que un punto de entrada de solo un código QR se
según tus necesidades. Por ejemplo, desde una aplicación de cámara generalizada que desee
proporciona un acceso directo para comenzar la comisión cuando se vea un código QR en la
visor.
Antes de continuar, asegúrate de que todos Se cumplen los requisitos previos.
Códigos QR de Matter
Los códigos QR de Matter adoptan la forma general de
MT:Y3.13OTB00KA0648G00
, donde el prefijo MT:
es una constante y el sufijo
es una cadena codificada en base 38 con el alfabeto [A-Z0-9.-]
. El sufijo debe
tener siempre 19 caracteres, pero también puede ser más largo.
Determinar si un código QR representa un código QR de Matter se puede hacer con el siguiente regex en Java:
fun isMatterQrCode(value: String): Boolean { return value.matches(Regex("""MT:[A-Z0-9.-]{19,}""")) }
Por ejemplo, el siguiente código QR representa MT:Y3.13OTB00KA0648G00
:
Formato de intent
Este formato de código QR se puede usar como un URI para iniciar el flujo de comisión
envía un Intent
con ACTION_VIEW
, el URI especificado en data
y el
de destino configurado en los Servicios de Google Play:
fun startCommissioning(context: Context, qrCodeString: String): Boolean {
val intent =
Intent(Intent.ACTION_VIEW)
.setData(Uri.parse(qrCodeString))
.setPackage("com.google.android.gms")
try {
context.startActivity(intent)
return true
} catch (ex: ActivityNotFoundException) {
// Supporting Play Services version not available.
return false
}
}
App de ejemplo
Esta app de ejemplo muestra cómo comenzar a asignar un dispositivo Matter cuando un El código QR compatible con Matter se ve en el visor de la cámara.
Descargar la app de ejemplo de comisión basada en intents
El código de esta app de ejemplo aprovecha las siguientes bibliotecas de Android:
Los siguientes documentos también son útiles para comprender el código escrito para este App de ejemplo:
Uso
Cuando se inicie la app, se mostrará la vista previa de la cámara en la pantalla. Cuando se muestra un código QR cuando se detecta un dispositivo Matter, se muestra un diálogo para confirmar si la puesta en marcha de ese dispositivo Matter se debe realizar:
Si se confirma la comisión, el "Selector de apps" respaldada por Se lanza el SDK de Google Home para dispositivos móviles.
Inicialmente, el selector de apps muestra un conjunto de aplicaciones de asignación predeterminadas (por ejemplo, la app de Google Home, como se muestra en la primera captura de pantalla). Si presionas "Elegir otra app", se mostrarán otras aplicaciones que admiten el flujo de comisión del SDK de Google Home Mobile (consulta la segunda captura de pantalla).
A continuación, se inicia la aplicación seleccionada para realizar la puesta en marcha del dispositivo.