হাব অ্যাক্টিভেশন এপিআই আপনাকে প্রোগ্রাম্যাটিকভাবে একটি গুগল হোম হাব খুঁজে বের করতে এবং সক্রিয় করতে দেয়। এটি বিশেষত তখন উপযোগী যখন ব্যবহারকারীর কাছে হাবটি সক্রিয় করার অন্য কোনো উপায় থাকে না, যেমন স্ক্রিনবিহীন কোনো হাবের ক্ষেত্রে।
হাব অ্যাক্টিভেশন এপিআই ব্যবহার করে, আপনি এমন একটি অ্যাপ তৈরি করতে পারেন যা হাবগুলি সনাক্ত এবং সক্রিয় করতে পারে। এটি করতে:
স্ট্রাকচারে
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") }