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

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