Hub Activation API memungkinkan Anda menemukan dan mengaktifkan hub Google Home secara terprogram. Hal ini sangat berguna saat pengguna tidak memiliki cara lain untuk mengaktifkan hub, seperti pada kasus hub yang tidak memiliki layar.
Menggunakan Hub Activation API
Dengan menggunakan Hub Activation API, Anda dapat membuat aplikasi yang dapat menemukan dan mengaktifkan hub.
Dapatkan referensi ke
HubManagementTraitdalam struktur:val hubManagementTrait = hubManagementTraitFlow.firstOrNull { it.metadata.sourceConnectivity?.connectivityState == ConnectivityState.ONLINE } if (hubManagementTrait == null) { errorsEmitter.emit(HomeException.notFound("HubManagement trait isn't online")) }Identifikasi perangkat yang kompatibel dengan hub di jaringan Wi-Fi:
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(), )Aktifkan perangkat yang kompatibel dengan hub:
try { val unused = hubManagementTrait.activateHub(hub) } catch (e: Exception) { Log.d("Hub Activation", "Error activating hub $e") }