CapabilityClient.getCapability возвращает пустой список узлов при настройке Wear OS 6/Android 16.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 CapabilityClient.getCapability возвращает пустой список узлов при настройке Wear OS 6/Android 16.

Сообщение Anonymous »

У меня проблема с видимостью CapabilityClient. На моем телефоне (Pixel 6 с Android 16) и сопряженных часах (Samsung Galaxy Watch 6 с Wear OS 6) установлены приложения Android и Wear OS. Оба приложения работают. Я также тестировал все комбинации эмуляторов.
Более того, мое приложение WearOS работает на переднем плане во время его тестирования.
Вот моя реализация в репозитории:

Код: Выделить всё

getCapableNodes
возвращает пустой список, а getConnectedNodes возвращает список с моими часами Galaxy:

Код: Выделить всё

internal class WearDevicesRepositoryImpl @Inject constructor(
private val nodeClient: NodeClient,
private val capabilityClient: CapabilityClient,
@DispatcherIO
private val ioDispatcher: CoroutineDispatcher,
) : WearDevicesRepository {

override fun getConnectedNodes(): Flow {
return typedFlow {
// This returns the connected watch correctly
nodeClient.connectedNodes.await()
}.flowOn(ioDispatcher)
}

override fun getCapableNodes(): Flow {
return typedFlow {
// This returns an empty list
val capabilityInfo = capabilityClient.getCapability(
CAPABILITY_NAME,
CapabilityClient.FILTER_REACHABLE
).await()

capabilityInfo.nodes.toList()
}.flowOn(ioDispatcher)
}

private companion object {
private const val CAPABILITY_NAME = "watchface_installer"
}
}
Вот файл Wear_capabilities.xml в модуле Wear OS (

Код: Выделить всё

wear/src/main/res/xml/wear_capabilities.xml
): И AndroidManifest.xml Wear OS, где он зарегистрирован: В мобильном build.gradle.kts я объявляю зависимость приложения Wear:

Код: Выделить всё

dependencies {
// ...
wearApp(project(":wear"))
}
Почему метод optionClient.getCapability возвращает пустой список узлов, хотя nodeClient.connectedNodes видит устройство и на нем установлено приложение Wear (с объявленной возможностью)?


Подробнее здесь: https://stackoverflow.com/questions/798 ... -android-1
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»