ConnectivityManager.RegisterNetworkCallback 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| RegisterNetworkCallback(NetworkRequest, ConnectivityManager+NetworkCallback, Handler) |
登錄指定的網路回撥。 |
| RegisterNetworkCallback(NetworkRequest, PendingIntent) |
註冊一個待定意圖,當網路可用且滿足給定 |
| 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
- networkCallback
- ConnectivityManager.NetworkCallback
- handler
- Handler
- 屬性
備註
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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 。 這表示請求可能會比呼叫應用程式更久,並在找到合適的網路時被回撥。
這個操作是一個意圖廣播,會發送到你註冊的
操作 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)
本頁部分內容為基於 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 所創建與分享的作品,並依授權條款所描述的使用進行修改。