رابط برنامهنویسی کاربردی (API) فعالسازی هاب به شما امکان میدهد تا به صورت برنامهنویسی شده، هاب گوگل هوم را کشف و فعال کنید. این قابلیت به ویژه زمانی مفید است که کاربر هیچ راه دیگری برای فعال کردن هاب ندارد، مانند هابی که فاقد صفحه نمایش است.
با استفاده از Hub Activation API، میتوانید برنامهای بسازید که بتواند هابها را کشف و فعال کند. برای انجام این کار:
در ساختار، به
HubManagementTraitارجاع دهید:val hubManagementTrait = hubManagementTraitFlow.firstOrNull { it.metadata.sourceConnectivity?.connectivityState == ConnectivityState.ONLINE } if (hubManagementTrait == null) { errorsEmitter.emit(HomeException.notFound("HubManagement trait isn't online")) }دستگاههای دارای قابلیت هاب را در شبکه وایفای شناسایی کنید:
try { val unused = hubManagementTrait.discoverAvailableHubs() } catch (e: Exception) { Log.d(TAG_HUB_DISCOVERY, "Error discovering hubs $e") errorsEmitter.emit(e) } val hubManagementTraitFlow = structureFlow.flatMapLatest { it.trait(HubManagement) } val discoveredHubs = hubManagementTraitFlow .map { it.discoveredHubsList } .handleErrors() .flowOn(ioDispatcher) .stateIn( scope = CoroutineScope(viewModelScope.coroutineContext + ioDispatcher), started = SharingStarted.WhileSubscribed(), listOf(), )فعال کردن یک دستگاه با قابلیت پشتیبانی از هاب:
try { val unused = hubManagementTrait.activateHub(hub) } catch (e: Exception) { Log.d("Hub Activation", "Error activating hub $e") }