Ủy ban Matter dựa trên ý định

Mặc dù SDK Matter cung cấp một API dựa trên Task để bắt đầu uỷ quyền Matter với nhiều tham số, quan sát kết quả và tuỳ ý thêm thông tin xác thực, nhưng có những trường hợp chỉ cần điểm truy cập là mã QR. Ví dụ: từ một ứng dụng máy ảnh tổng quát muốn cung cấp lối tắt để bắt đầu uỷ quyền khi thấy mã QR trong kính ngắm.

Trước khi tiếp tục, hãy đảm bảo bạn đã đáp ứng tất cả Yêu cầu tiên quyết.

Mã QR của Matter

Mã QR Matter có dạng chung là MT:Y3.13OTB00KA0648G00, trong đó tiền tố MT: là một hằng số và hậu tố là một chuỗi được mã hoá cơ sở 38 bằng cách sử dụng bảng chữ cái [A-Z0-9.-]. Hậu tố phải luôn có ít nhất 19 ký tự, nhưng cũng có thể dài hơn.

Bạn có thể xác định xem một mã QR có đại diện cho mã QR của Matter hay không bằng biểu thức chính quy sau trong Java:

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

Ví dụ: mã QR sau đây đại diện cho MT:Y3.13OTB00KA0648G00:

Ví dụ về mã QR của Matter

Định dạng ý định

Bạn có thể sử dụng định dạng mã QR này làm URI để bắt đầu quy trình uỷ quyền bằng cách gửi Intent với ACTION_VIEW, URI được chỉ định trong data và gói mục tiêu được đặt thành Dịch vụ 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
 
}
}

Ứng dụng mẫu

Ứng dụng mẫu này cho biết cách bắt đầu triển khai một thiết bị Matter khi thấy một mã QR tuân thủ Matter trong kính ngắm của máy ảnh.

Tải ứng dụng mẫu về việc uỷ quyền dựa trên ý định xuống

Mã trong ứng dụng mẫu này tận dụng các thư viện Android sau:

Các tài liệu sau đây cũng hữu ích để hiểu mã được viết cho ứng dụng mẫu này:

Cách sử dụng

Khi ứng dụng khởi động, bản xem trước của máy ảnh sẽ xuất hiện trên màn hình. Khi phát hiện được mã QR cho một thiết bị Matter, một hộp thoại sẽ xuất hiện để xác nhận xem có nên thực hiện việc uỷ quyền cho thiết bị Matter đó hay không:

camera preview 1 camera preview 2

Nếu quá trình uỷ quyền được xác nhận, thì "Trình chọn ứng dụng" do SDK Google Home Mobile hỗ trợ sẽ được khởi chạy.

Ban đầu, Trình chọn ứng dụng sẽ hiển thị một tập hợp các ứng dụng uỷ quyền mặc định (ví dụ: ứng dụng Google Home như trong ảnh chụp màn hình đầu tiên). Nếu người dùng nhấn vào "Chọn ứng dụng khác", thì các ứng dụng khác hỗ trợ quy trình uỷ quyền SDK Google Home Mobile sẽ xuất hiện (xem ảnh chụp màn hình thứ hai).

Chọn một ứng dụng – GHA Chọn một ứng dụng – Ứng dụng khác

Sau đó, ứng dụng đã chọn sẽ được khởi chạy để thực hiện việc uỷ quyền thiết bị.