L'SDK Matter fornisce un'API basata su Task
per avviare la messa in servizio di Matter.
con parametri variabili, osservando il risultato e, facoltativamente, aggiungere
credenziali, in alcuni casi è necessario specificare un punto di accesso
necessaria. Ad esempio, da un'applicazione di fotocamera generalizzata che vuole
offrono una scorciatoia per avviare la messa in servizio quando viene visualizzato un codice QR
mirino.
Prima di continuare, assicurati che Sono stati soddisfatti i prerequisiti.
Codici QR di Matter
I codici QR di Matter assumono la forma generica
MT:Y3.13OTB00KA0648G00
, dove il prefisso MT:
è una costante e il suffisso
è una stringa codificata in base 38 che utilizza l'alfabeto [A-Z0-9.-]
. Il suffisso deve
deve essere sempre di almeno 19 caratteri, ma può essere anche più lungo.
Per determinare se un codice QR rappresenta un codice QR Matter, utilizza la seguente espressione regolare in Java:
fun isMatterQrCode(value: String): Boolean { return value.matches(Regex("""MT:[A-Z0-9.-]{19,}""")) }
Ad esempio, il seguente codice QR rappresenta MT:Y3.13OTB00KA0648G00
:
Formato dell'intento
Questo formato di codice QR può essere utilizzato come URI per avviare il flusso di messa in servizio
inviando Intent
con ACTION_VIEW
, l'URI specificato in data
e
pacchetto target impostato su Google Play Services:
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 di esempio
Questa app di esempio mostra come iniziare a mettere in servizio un dispositivo Matter quando Il codice QR compatibile con Matter è visibile nel mirino della fotocamera.
Scarica l'app di esempio per la messa in servizio basata sull'intent
Il codice in questa app di esempio utilizza le seguenti librerie Android:
Anche i seguenti documenti sono utili per comprendere il codice scritto a tal fine app di esempio:
Utilizzo
All'avvio dell'app, sullo schermo viene visualizzata l'anteprima della fotocamera. Quando un codice QR di un dispositivo Matter, viene mostrata una finestra di dialogo per confermare se per il dispositivo Matter, procedi nel seguente modo:
Se la messa in servizio viene confermata, viene visualizzato il "Selettore app". supportata dal Lancio dell'SDK Google Home per dispositivi mobili.
Il selettore di app mostra inizialmente una serie di applicazioni di messa in servizio predefinite (ad esempio, l'app Google Home come mostrato nel primo screenshot). Se tocchi "Scegli un'altra app", vengono visualizzate altre applicazioni che supportano il flusso di messa in servizio dell'SDK Google Home per dispositivi mobili (vedi il secondo screenshot).
L'applicazione selezionata viene quindi avviata per eseguire la messa in servizio del dispositivo.