ConnectivityManager.RegisterNetworkCallback メソッド

定義

オーバーロード

名前 説明
RegisterNetworkCallback(NetworkRequest, ConnectivityManager+NetworkCallback, Handler)
RegisterNetworkCallback(NetworkRequest, PendingIntent)

指定された 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
handler
Handler
属性

注釈

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

RegisterNetworkCallback(NetworkRequest, PendingIntent)

指定された NetworkRequestを満たすネットワークが使用可能な場合に送信される PendingIntent を登録します。

[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から取得されます。 null にすることはできません。

属性

注釈

指定された NetworkRequestを満たすネットワークが使用可能な場合に送信される PendingIntent を登録します。

この関数は NetworkCallback を受け取るバージョンと同じように動作しますが、 NetworkCallback の代わりに PendingIntent が使用されます。 これは、要求が呼び出し元のアプリケーションよりも長く、適切なネットワークが見つかったときに呼び出される可能性があることを意味します。

この操作は、 または < を使用して登録したブロードキャスト レシーバーに送るインテント ブロードキャストです。receiver>AndroidManifest.xml ファイル内のタグ

操作インテントには、#EXTRA_NETWORKと呼ばれるNetwork型指定されたエクストラと、元の要求パラメーターを含む#EXTRA_NETWORK_REQUEST呼び出されたNetworkRequest型指定された extra という 2 つのエクストラが提供されます。

( Intent#filterEquals によって定義された 2 つの意図の等価性を持つ) この意図の要求が既に登録されている場合は、削除され、これに置き換えられ、前の NetworkRequestが実質的に解放されます。

要求は、 #unregisterNetworkCallback(android.app.PendingIntent)を呼び出すことによって通常どおりに解放される場合があります。

アプリによるコールバックのリークによるパフォーマンスの問題を回避するために、システムでは、未処理の要求の数をアプリごとに 100 個 (UID で識別) に制限し、このメソッドのすべてのバリアント ( #requestNetwork および ConnectivityDiagnosticsManager#registerConnectivityDiagnosticsCallback) と共有します。 この方法でネットワークを要求すると、この制限にカウントされます。 この制限を超えると、例外がスローされます。 この問題が発生しないようにし、リソースを節約するには、 #unregisterNetworkCallback(PendingIntent) または #releaseNetworkRequest(PendingIntent)を使用してコールバックの登録を解除してください。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

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

属性

注釈

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象