語言

ConnectivityManager.RegisterNetworkCallback 方法

定義

多載

名稱 Description
RegisterNetworkCallback(NetworkRequest, ConnectivityManager+NetworkCallback, Handler)

登錄指定的網路回撥。

RegisterNetworkCallback(NetworkRequest, PendingIntent)

註冊一個待定意圖,當網路可用且滿足給定 NetworkRequest條件時發送。

RegisterNetworkCallback(NetworkRequest, ConnectivityManager+NetworkCallback)

註冊接收所有符合給定 NetworkRequest條件的網路通知。

RegisterNetworkCallback(NetworkRequest, ConnectivityManager+NetworkCallback, Handler)

登錄指定的網路回撥。

[Android.Runtime.Register("registerNetworkCallback", "(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V", "GetRegisterNetworkCallback_Landroid_net_NetworkRequest_Landroid_net_ConnectivityManager_NetworkCallback_Landroid_os_Handler_Handler", ApiSince=26)]
[Android.Runtime.RequiresPermission("android.permission.ACCESS_NETWORK_STATE")]
public virtual void RegisterNetworkCallback(Android.Net.NetworkRequest request, Android.Net.ConnectivityManager.NetworkCallback networkCallback, Android.OS.Handler handler);
[<Android.Runtime.Register("registerNetworkCallback", "(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V", "GetRegisterNetworkCallback_Landroid_net_NetworkRequest_Landroid_net_ConnectivityManager_NetworkCallback_Landroid_os_Handler_Handler", ApiSince=26)>]
[<Android.Runtime.RequiresPermission("android.permission.ACCESS_NETWORK_STATE")>]
abstract member RegisterNetworkCallback : Android.Net.NetworkRequest * Android.Net.ConnectivityManager.NetworkCallback * Android.OS.Handler -> unit
override this.RegisterNetworkCallback : Android.Net.NetworkRequest * Android.Net.ConnectivityManager.NetworkCallback * Android.OS.Handler -> unit

參數

request
NetworkRequest
handler
Handler
屬性

備註

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

Java 文件 android.net.ConnectivityManager.registerNetworkCallback(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback, android.os.Handler)。

適用於

RegisterNetworkCallback(NetworkRequest, PendingIntent)

註冊一個待定意圖,當網路可用且滿足給定 NetworkRequest條件時發送。

[Android.Runtime.Register("registerNetworkCallback", "(Landroid/net/NetworkRequest;Landroid/app/PendingIntent;)V", "GetRegisterNetworkCallback_Landroid_net_NetworkRequest_Landroid_app_PendingIntent_Handler", ApiSince=23)]
[Android.Runtime.RequiresPermission("android.permission.ACCESS_NETWORK_STATE")]
public virtual void RegisterNetworkCallback(Android.Net.NetworkRequest request, Android.App.PendingIntent operation);
[<Android.Runtime.Register("registerNetworkCallback", "(Landroid/net/NetworkRequest;Landroid/app/PendingIntent;)V", "GetRegisterNetworkCallback_Landroid_net_NetworkRequest_Landroid_app_PendingIntent_Handler", ApiSince=23)>]
[<Android.Runtime.RequiresPermission("android.permission.ACCESS_NETWORK_STATE")>]
abstract member RegisterNetworkCallback : Android.Net.NetworkRequest * Android.App.PendingIntent -> unit
override this.RegisterNetworkCallback : Android.Net.NetworkRequest * Android.App.PendingIntent -> unit

參數

request
NetworkRequest

NetworkRequest 描述這個請求。

operation
PendingIntent

當網路可用時執行的動作(對應於通話內容 NetworkCallback#onAvailable )。 通常來自 PendingIntent#getBroadcast。 不可為空值。

屬性

備註

註冊一個待定意圖,當網路可用且滿足給定 NetworkRequest條件時發送。

此函式的行為與接受 NetworkCallback 的版本相同,但使用的是 NetworkCallback a PendingIntent 。 這表示請求可能會比呼叫應用程式更久,並在找到合適的網路時被回撥。

這個操作是一個意圖廣播,會發送到你註冊的 廣播接收器,或透過 <接收器>AndroidManifest.xml 檔案中的標籤

操作 Intent 會隨 Extra 傳送兩個額外值,一個 Network 是 type called 的 #EXTRA_NETWORK 額外值,另一個 NetworkRequest 是 typeed extra #EXTRA_NETWORK_REQUEST ,包含原始請求參數。

如果已經註冊了這個意圖的請求(且定義為 Intent#filterEquals兩個意圖的相等),則該請求將被移除並以此意圖取代,實際上釋放了先前 NetworkRequest的 。

請求通常可透過撥打 #unregisterNetworkCallback(android.app.PendingIntent)來解除。

為避免應用程式回調洩漏導致效能問題,系統會限制每個應用程式的未解決請求數為 100 筆(以 UID 識別),且此方法 #requestNetwork 的所有變體共享,且 也包含 ConnectivityDiagnosticsManager#registerConnectivityDiagnosticsCallback。 使用此方法請求網路將計入此限制。 若超過此限制,將會拋出例外。 為避免此問題並節省資源,請務必將回撥註為 或 取消註冊。#unregisterNetworkCallback(PendingIntent)#releaseNetworkRequest(PendingIntent)

Java 文件 android.net.ConnectivityManager.registerNetworkCallback(android.net.NetworkRequest, android.app.PendingIntent)。

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

適用於

RegisterNetworkCallback(NetworkRequest, ConnectivityManager+NetworkCallback)

註冊接收所有符合給定 NetworkRequest條件的網路通知。

[Android.Runtime.Register("registerNetworkCallback", "(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V", "GetRegisterNetworkCallback_Landroid_net_NetworkRequest_Landroid_net_ConnectivityManager_NetworkCallback_Handler")]
[Android.Runtime.RequiresPermission("android.permission.ACCESS_NETWORK_STATE")]
public virtual void RegisterNetworkCallback(Android.Net.NetworkRequest request, Android.Net.ConnectivityManager.NetworkCallback networkCallback);
[<Android.Runtime.Register("registerNetworkCallback", "(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V", "GetRegisterNetworkCallback_Landroid_net_NetworkRequest_Landroid_net_ConnectivityManager_NetworkCallback_Handler")>]
[<Android.Runtime.RequiresPermission("android.permission.ACCESS_NETWORK_STATE")>]
abstract member RegisterNetworkCallback : Android.Net.NetworkRequest * Android.Net.ConnectivityManager.NetworkCallback -> unit
override this.RegisterNetworkCallback : Android.Net.NetworkRequest * Android.Net.ConnectivityManager.NetworkCallback -> unit

參數

request
NetworkRequest

NetworkRequest 描述這個請求。

networkCallback
ConnectivityManager.NetworkCallback

ConnectivityManager.NetworkCallback系統會呼叫的,因為合適的網路會改變狀態。

屬性

備註

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

適用於