Обнаружение устройств в сети с помощью API уровня данных

Устройства могут устанавливать соединение с Интернетом либо напрямую через Wi-Fi или сотовую связь, либо косвенно через сопряженное устройство Bluetooth.

Достижимые и близлежащие узлы

Устройство считается доступным , когда оно подключено к сети и доступно для связи с другим устройством либо напрямую через Bluetooth, либо косвенно с использованием облака в качестве посредника.

Устройство считается находящимся поблизости , если его можно подключить напрямую через Bluetooth, без использования облака.

Действия, влияющие на время повторного подключения

При определенных обстоятельствах устройствам может потребоваться до 4 минут для восстановления соединения. Эти сценарии включают следующее:

  • Неактивность устройства Wear OS. Если устройство Wear OS снято с запястья пользователя или иным образом не используется активно в течение длительного периода времени, время повторного подключения может быть увеличено.
  • Состояние дремоты. Энергосберегающее состояние дремоты портативного устройства может ограничить фоновые процессы, потенциально увеличивая время повторного подключения устройства.
  • Взаимодействие с пользователем. Если пользователь начинает взаимодействовать как с портативным устройством, так и с устройством Wear OS примерно в одно и то же время, это часто ускоряет процесс повторного подключения.

Обнаружение всех устройств с помощью клиента узла

Объект NodeClient идентифицирует и передает список устройств под управлением Android, подключенных к сети, независимо от возможностей каждого устройства. Все приложения на устройстве получают эти уведомления о событиях, например о подключении нового устройства к сети или выходе существующего устройства из сети.

Класс NodeClient особенно полезен для обнаружения устройств, на которых не установлено ваше приложение.

Обнаружение конкретных устройств с помощью клиента возможностей

Объект CapabilityClient предоставляет информацию о том, какие устройства в сети Wear OS поддерживают определенные возможности приложения. Возможность — это функция, которую приложение либо определяет во время сборки , либо настраивает динамически во время выполнения .

Например, мобильное приложение Android может рекламировать, что оно поддерживает удаленное управление воспроизведением видео. Версия этого приложения для Wear OS может использовать CapabilityClient , чтобы проверить, установлена ​​ли мобильная версия приложения на ближайшем устройстве и поддерживает ли эта функция. Если это так, приложение Wear OS может отображать кнопки воспроизведения и паузы, чтобы пользователи могли управлять видео, которое воспроизводится на их мобильном устройстве, со своего устройства Wear OS. Распространение возможностей работает и в противоположном направлении; Приложения Wear OS могут перечислять поддерживаемые ими возможности.

Проверьте новые возможности вашего приложения

Используйте CapabilityClient , чтобы определить идентификатор узла устройства, с которым вам необходимо связаться. Например, если вам нужно проверить наличие новой функции в вашем приложении на портативных устройствах, создайте возможность для этой новой функции на портативном устройстве. Затем ваше приложение Wear OS может запросить устройства, поддерживающие эту возможность. Если эта возможность отсутствует на всех устройствах, это означает, что у пользователя нет версии вашего приложения, поддерживающей эту функцию, и вам следует корректно обработать ее в логике вашего приложения. Если вы предполагаете, что портативное устройство всегда является правильным узлом для связи, ваши сообщения могут не доставляться, поскольку приложение телефона не поддерживает эту функцию.

Определите, является ли устройство Wear OS единственным в сети.

Вы можете использовать CapabilityClient , чтобы проверить, должно ли ваше приложение работать в автономном режиме, поскольку поблизости нет других устройств под управлением Android. Если передать FILTER_ALL , в результатах не должно появиться никаких других устройств.