Oparte na zamiarach intencje Matter

Chociaż pakiet Matter SDK udostępnia interfejs API oparty na Task, który umożliwia uruchamianie zmiennej Matter z różnymi parametrami, obserwowanie wyniku i opcjonalnie dodawanie danych logowania, zdarzają się sytuacje, w których potrzebny jest punkt wejścia tylko kodu QR. Może to być na przykład uogólniona aplikacja aparatu, która chce udostępnić skrót umożliwiający rozpoczęcie wyświetlania kodu QR w wizjerze.

Zanim przejdziesz dalej, sprawdź, czy spełnione są wszystkie wymagania wstępne.

Kody QR problemów

Kody QR spraw mają ogólną postać MT:Y3.13OTB00KA0648G00, gdzie prefiks MT: jest stałą, a sufiks jest ciągiem podstawowym z kodowaniem 38 przy użyciu alfabetu [A-Z0-9.-]. Sufiks musi zawsze mieć co najmniej 19 znaków, ale może być dłuższy.

Aby określić, czy kod QR reprezentuje kod QR materii, można użyć następującego wyrażenia regularnego w Javie:

fun isMatterQrCode(value: String): Boolean {
  return value.matches(Regex("""MT:[A-Z0-9.-]{19,}"""))
}

Na przykład ten kod QR reprezentuje MT:Y3.13OTB00KA0648G00:

Przykład kodu QR materii

Format intencji

Ten format kodu QR może być używany jako identyfikator URI do rozpoczęcia procesu wysyłania. W tym celu wyślij Intent z ACTION_VIEW, identyfikator URI określony w data i pakiet docelowy ustawiony na Usługi 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
  }
}

Przykładowa aplikacja

Ta przykładowa aplikacja pokazuje, jak rozpocząć uruchamianie urządzenia Matter, gdy w wizjerze pojawi się kod QR zgodny z tą sprawą.

Pobierz przykładową aplikację korzystającą ze strategii Prowizje na podstawie zamiarów

Kod w tej przykładowej aplikacji wykorzystuje następujące biblioteki Androida:

Te dokumenty są również przydatne do zrozumienia kodu napisanego dla tej przykładowej aplikacji:

Wykorzystanie

Po uruchomieniu aplikacji na ekranie pojawi się podgląd aparatu. Po wykryciu kodu QR urządzenia Matter pojawi się okno dialogowe z prośbą o potwierdzenie, czy należy wykonać procedurę dotyczącą tego urządzenia:

podgląd aparatu 1 podgląd aparatu 2

Po potwierdzeniu uruchomienia zostanie uruchomiony „Selektor aplikacji” obsługiwany przez pakiet SDK do urządzeń mobilnych Google Home.

Selektor aplikacji początkowo wyświetla zestaw domyślnych aplikacji do uruchomienia (np. aplikację Google Home, jak widać na pierwszym zrzucie ekranu). Jeśli klikniesz „Wybierz inną aplikację”, pojawią się inne aplikacje obsługujące proces składania zamówienia na pakiet SDK do urządzeń mobilnych Google Home (zobacz drugi zrzut ekranu).

Wybierz aplikację – GHA Wybierz aplikację – inne aplikacje

Wybrana aplikacja zostanie uruchomiona w celu uruchomienia urządzenia.