語言

ConnectivityManager.NetworkCallback.OnAvailable(Network) 方法

定義

當框架連接並宣告新網路準備好使用時,才會被呼叫。

[Android.Runtime.Register("onAvailable", "(Landroid/net/Network;)V", "GetOnAvailable_Landroid_net_Network_Handler")]
public virtual void OnAvailable(Android.Net.Network network);
[<Android.Runtime.Register("onAvailable", "(Landroid/net/Network;)V", "GetOnAvailable_Landroid_net_Network_Handler")>]
abstract member OnAvailable : Android.Net.Network -> unit
override this.OnAvailable : Android.Net.Network -> unit

參數

network
Network

Network令人滿意的網絡。

屬性

備註

對於註冊於 #registerNetworkCallback的回撥,可能同時有多個網路可用,並會根據出現的每個網路呼叫 onAvailable。

對於註冊為 #requestNetwork 和 #registerDefaultNetworkCallback的回調,表示作為參數傳遞的網路成為該請求的新最佳網路,並由此回調追蹤;此回調將不再接收先前可能傳入此方法的其他網路的方法呼叫。 之前最好的網路可能已經斷線,或者它仍然存在,而新成為最佳的網路可能只是變得更好。

從 開始 android.os.Build.VERSION_CODES#O,這總是緊接著一個呼叫 , #onCapabilitiesChanged(Network, NetworkCapabilities) 接著是呼叫 #onLinkPropertiesChanged(Network, LinkProperties),最後呼叫 #onBlockedStatusChanged(Network, boolean)。

在此回調中請勿呼叫 #getNetworkCapabilities(Network) 或其他 #getLinkProperties(Network) 同步的 ConnectivityManager 方法,因為這容易產生競賽條件(無法保證這些方法回傳的物件會是最新的)。 相反地,等待一個呼叫 ,#onCapabilitiesChanged(Network, NetworkCapabilities)#onLinkPropertiesChanged(Network, LinkProperties)且其參數相較於其他回調必定是有序的。

Java 文件 android.net.ConnectivityManager.NetworkCallback.onAvailable(android.net.Network)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於