API فعال‌سازی هاب در اندروید

رابط برنامه‌نویسی کاربردی (API) فعال‌سازی هاب به شما امکان می‌دهد تا به صورت برنامه‌نویسی شده، هاب گوگل هوم را کشف و فعال کنید. این قابلیت به ویژه زمانی مفید است که کاربر هیچ راه دیگری برای فعال کردن هاب ندارد، مانند هابی که فاقد صفحه نمایش است.

از API فعال‌سازی هاب استفاده کنید

با استفاده از Hub Activation API، می‌توانید برنامه‌ای بسازید که بتواند هاب‌ها را کشف و فعال کند.

  1. در ساختار، به HubManagementTrait ارجاع دهید:

    val hubManagementTrait =
      hubManagementTraitFlow.firstOrNull {
        it.metadata.sourceConnectivity?.connectivityState == ConnectivityState.ONLINE
      }
    if (hubManagementTrait == null) {
      errorsEmitter.emit(HomeException.notFound("HubManagement trait isn't online"))
    }
    
  2. دستگاه‌های دارای قابلیت هاب را در شبکه وای‌فای شناسایی کنید:

    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(),
        )
    
  3. فعال کردن یک دستگاه با قابلیت پشتیبانی از هاب:

    try {
      val unused = hubManagementTrait.activateHub(hub)
    } catch (e: Exception) {
      Log.d("Hub Activation", "Error activating hub $e")
    }