Khám phá các thiết bị trên mạng bằng cách sử dụng Data Layer API (API Lớp dữ liệu)

Các thiết bị có thể thiết lập kết nối Internet bằng cách trực tiếp sử dụng kết nối Wi-Fi hoặc kết nối di động, hoặc gián tiếp thông qua thiết bị Bluetooth được ghép nối.

Nút có thể truy cập và nút lân cận

Một thiết bị được coi là có thể truy cập khi thiết bị đó có kết nối mạng và có thể giao tiếp với một thiết bị khác, trực tiếp thông qua Bluetooth hoặc gián tiếp sử dụng đám mây làm bên trung gian.

Một thiết bị được coi là ở gần nếu có thể kết nối trực tiếp qua Bluetooth mà không cần sử dụng đám mây.

Hoạt động ảnh hưởng đến thời gian kết nối lại

Trong một số trường hợp, các thiết bị có thể cần tới 4 phút để thiết lập lại kết nối. Các trường hợp này bao gồm:

  • Thiết bị Wear OS không hoạt động: Nếu bạn lấy thiết bị Wear OS ra khỏi cổ tay người dùng hoặc không dùng thiết bị đó trong một khoảng thời gian dài, thì thời gian kết nối lại có thể được kéo dài.
  • Trạng thái nghỉ: Trạng thái Nghỉ tiết kiệm điện của thiết bị cầm tay có thể hạn chế các tiến trình ở chế độ nền, qua đó có thể làm tăng thời gian kết nối lại của thiết bị.
  • Tương tác của người dùng: Nếu người dùng bắt đầu tương tác gần như với cả thiết bị cầm tay và thiết bị Wear OS cùng lúc, thì quá trình kết nối lại thường sẽ được đẩy nhanh hơn.

Khám phá tất cả thiết bị bằng một ứng dụng nút

Đối tượng NodeClient xác định và truyền tin tới danh sách các thiết bị chạy Android đã kết nối với một mạng, bất kể khả năng của mỗi thiết bị. Tất cả ứng dụng trên một thiết bị đều nhận được các thông báo sự kiện này, chẳng hạn như một thiết bị mới kết nối mạng hoặc một thiết bị hiện có không kết nối mạng.

Lớp NodeClient đặc biệt hữu ích khi phát hiện các thiết bị chưa cài đặt ứng dụng của bạn.

Khám phá các thiết bị cụ thể bằng ứng dụng chức năng

Đối tượng CapabilityClient cung cấp thông tin về những thiết bị trên mạng Wear OS hỗ trợ các chức năng cụ thể của ứng dụng. Chức năng là tính năng mà ứng dụng xác định tại thời gian xây dựng hoặc định cấu hình động trong thời gian chạy.

Ví dụ: ứng dụng Android dành cho thiết bị di động có thể quảng cáo về việc ứng dụng này hỗ trợ điều khiển từ xa để phát video. Phiên bản Wear OS của ứng dụng đó có thể dùng CapabilityClient để kiểm tra xem phiên bản dành cho thiết bị di động của ứng dụng có được cài đặt trên một thiết bị lân cận và hỗ trợ tính năng đó hay không. Nếu có, ứng dụng Wear OS có thể hiển thị các nút phát và tạm dừng để người dùng có thể điều khiển video đang phát trên thiết bị di động của họ từ thiết bị Wear OS. Tính năng truyền tin cũng sẽ hoạt động theo hướng ngược lại; các ứng dụng Wear OS có thể liệt kê các chức năng mà ứng dụng hỗ trợ.

Kiểm tra các tính năng mới của ứng dụng

Sử dụng CapabilityClient để xác định mã nút của thiết bị bạn cần giao tiếp. Ví dụ: nếu bạn cần kiểm tra sự hiện diện của một tính năng mới trong ứng dụng trên các thiết bị cầm tay, hãy tạo một tính năng cho tính năng mới đó trên thiết bị cầm tay. Sau đó, ứng dụng Wear OS của bạn có thể truy vấn các thiết bị hỗ trợ chức năng đó. Nếu chức năng này bị thiếu trên tất cả các thiết bị, điều đó có nghĩa là người dùng không có phiên bản ứng dụng hỗ trợ tính năng này. Bạn nên xử lý linh hoạt tính năng này trong logic của ứng dụng. Nếu bạn giả định rằng thiết bị cầm tay luôn là nút chính xác để giao tiếp, thì tin nhắn của bạn có thể sẽ không được gửi vì ứng dụng điện thoại không hỗ trợ tính năng này.

Xác định xem thiết bị Wear OS có phải là thiết bị duy nhất trên mạng hay không

Bạn có thể sử dụng CapabilityClient để kiểm tra xem ứng dụng của mình có phải hoạt động ở chế độ độc lập hay không vì không có thiết bị chạy Android nào khác ở gần. Khi chuyển vào FILTER_ALL, sẽ không có thiết bị nào khác xuất hiện trong kết quả.