ConnectivityManager.RequestNetwork Método

Definição

Sobrecargas

RequestNetwork(NetworkRequest, ConnectivityManager+NetworkCallback, Handler, Int32)

[Android.Runtime.Register("requestNetwork", "(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;I)V", "GetRequestNetwork_Landroid_net_NetworkRequest_Landroid_net_ConnectivityManager_NetworkCallback_Landroid_os_Handler_IHandler", ApiSince=26)]
public virtual void RequestNetwork(Android.Net.NetworkRequest request, Android.Net.ConnectivityManager.NetworkCallback networkCallback, Android.OS.Handler handler, int timeoutMs);
[<Android.Runtime.Register("requestNetwork", "(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;I)V", "GetRequestNetwork_Landroid_net_NetworkRequest_Landroid_net_ConnectivityManager_NetworkCallback_Landroid_os_Handler_IHandler", ApiSince=26)>]
abstract member RequestNetwork : Android.Net.NetworkRequest * Android.Net.ConnectivityManager.NetworkCallback * Android.OS.Handler * int -> unit
override this.RequestNetwork : Android.Net.NetworkRequest * Android.Net.ConnectivityManager.NetworkCallback * Android.OS.Handler * int -> unit

Parâmetros

request
NetworkRequest
handler
Handler
timeoutMs
Int32
Atributos

Comentários

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Java documentação para android.net.ConnectivityManager.requestNetwork(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback, android.os.Handler, int).

Aplica-se a

RequestNetwork(NetworkRequest, ConnectivityManager+NetworkCallback, Int32)

[Android.Runtime.Register("requestNetwork", "(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;I)V", "GetRequestNetwork_Landroid_net_NetworkRequest_Landroid_net_ConnectivityManager_NetworkCallback_IHandler", ApiSince=26)]
public virtual void RequestNetwork(Android.Net.NetworkRequest request, Android.Net.ConnectivityManager.NetworkCallback networkCallback, int timeoutMs);
[<Android.Runtime.Register("requestNetwork", "(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;I)V", "GetRequestNetwork_Landroid_net_NetworkRequest_Landroid_net_ConnectivityManager_NetworkCallback_IHandler", ApiSince=26)>]
abstract member RequestNetwork : Android.Net.NetworkRequest * Android.Net.ConnectivityManager.NetworkCallback * int -> unit
override this.RequestNetwork : Android.Net.NetworkRequest * Android.Net.ConnectivityManager.NetworkCallback * int -> unit

Parâmetros

request
NetworkRequest
timeoutMs
Int32
Atributos

Comentários

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Java documentação para android.net.ConnectivityManager.requestNetwork(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback, int).

Aplica-se a

RequestNetwork(NetworkRequest, PendingIntent)

Solicite uma rede para atender a um conjunto de NetworkCapabilities.

[Android.Runtime.Register("requestNetwork", "(Landroid/net/NetworkRequest;Landroid/app/PendingIntent;)V", "GetRequestNetwork_Landroid_net_NetworkRequest_Landroid_app_PendingIntent_Handler", ApiSince=22)]
public virtual void RequestNetwork(Android.Net.NetworkRequest request, Android.App.PendingIntent operation);
[<Android.Runtime.Register("requestNetwork", "(Landroid/net/NetworkRequest;Landroid/app/PendingIntent;)V", "GetRequestNetwork_Landroid_net_NetworkRequest_Landroid_app_PendingIntent_Handler", ApiSince=22)>]
abstract member RequestNetwork : Android.Net.NetworkRequest * Android.App.PendingIntent -> unit
override this.RequestNetwork : Android.Net.NetworkRequest * Android.App.PendingIntent -> unit

Parâmetros

request
NetworkRequest

NetworkRequest descrevendo essa solicitação.

operation
PendingIntent

Ação a ser executada quando a rede estiver disponível (corresponde à NetworkCallback#onAvailable chamada. Normalmente vem de PendingIntent#getBroadcast. Não pode ser nulo.

Atributos

Comentários

Solicite uma rede para atender a um conjunto de NetworkCapabilities.

Essa função se comporta de forma idêntica à versão que usa um NetworkCallback, mas em vez de NetworkCallback uma PendingIntent é usada. Isso significa que a solicitação pode sobreviver ao aplicativo de chamada e ser chamada novamente quando uma rede adequada for encontrada.

A operação é uma transmissão de intenção que vai para um receptor de transmissão que você registrou com ou por meio do < receptor> marca em um arquivo de AndroidManifest.xml

A operação Intent é entregue com dois extras, um Network extra digitado chamado #EXTRA_NETWORK e um NetworkRequest extra digitado chamado #EXTRA_NETWORK_REQUEST contendo os parâmetros de solicitações originais. É importante criar uma nova NetworkCallback solicitação baseada antes de concluir o processamento da Intenção para reservar a rede ou ela será lançada logo após o processamento da Intenção.

Se já houver uma solicitação para essa Intenção registrada (com a igualdade de duas Intenções definidas por Intent#filterEquals), ela será removida e substituída por esta, liberando efetivamente a anterior NetworkRequest.

A solicitação pode ser liberada normalmente chamando #releaseNetworkRequest(android.app.PendingIntent).

Atualmente, não há suporte para solicitar uma rede com ou NetworkCapabilities#NET_CAPABILITY_VALIDATEDNetworkCapabilities#NET_CAPABILITY_CAPTIVE_PORTAL como elas NetworkCapabilities representam estados que uma determinada rede pode nunca alcançar e se uma rede atingirá esses estados é desconhecida antes de abrir a rede para que a estrutura não saiba como atender a uma solicitação com esses recursos.

Para evitar problemas de desempenho devido a aplicativos que vazam retornos de chamada, o sistema limitará o número de solicitações pendentes a 100 por aplicativo (identificado por sua UID), compartilhado com todas as variantes desse método, #registerNetworkCallback bem como ConnectivityDiagnosticsManager#registerConnectivityDiagnosticsCallback. A solicitação de uma rede com esse método contará para esse limite. Se esse limite for excedido, uma exceção será gerada. Para evitar atingir esse problema e conservar recursos, certifique-se de cancelar o registro dos retornos de chamada com #unregisterNetworkCallback(PendingIntent) ou #releaseNetworkRequest(PendingIntent).

Esse método requer que o chamador mantenha a android.Manifest.permission#CHANGE_NETWORK_STATE permissão ou a capacidade de modificar as configurações do sistema conforme determinado por android.provider.Settings.System#canWrite.

Java documentação para android.net.ConnectivityManager.requestNetwork(android.net.NetworkRequest, android.app.PendingIntent).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

RequestNetwork(NetworkRequest, ConnectivityManager+NetworkCallback)

Solicite uma rede para atender a um conjunto de NetworkCapabilities.

[Android.Runtime.Register("requestNetwork", "(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V", "GetRequestNetwork_Landroid_net_NetworkRequest_Landroid_net_ConnectivityManager_NetworkCallback_Handler")]
public virtual void RequestNetwork(Android.Net.NetworkRequest request, Android.Net.ConnectivityManager.NetworkCallback networkCallback);
[<Android.Runtime.Register("requestNetwork", "(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V", "GetRequestNetwork_Landroid_net_NetworkRequest_Landroid_net_ConnectivityManager_NetworkCallback_Handler")>]
abstract member RequestNetwork : Android.Net.NetworkRequest * Android.Net.ConnectivityManager.NetworkCallback -> unit
override this.RequestNetwork : Android.Net.NetworkRequest * Android.Net.ConnectivityManager.NetworkCallback -> unit

Parâmetros

request
NetworkRequest

NetworkRequest descrevendo essa solicitação.

networkCallback
ConnectivityManager.NetworkCallback

O ConnectivityManager.NetworkCallback a ser utilizado para essa solicitação. Observe que o retorno de chamada não deve ser compartilhado – eles especificam exclusivamente essa solicitação.

Atributos

Exceções

se request especificar qualquer mutável NetworkCapabilities.

Comentários

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

RequestNetwork(NetworkRequest, ConnectivityManager+NetworkCallback, Handler)

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

Parâmetros

request
NetworkRequest
handler
Handler
Atributos

Comentários

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Java documentação para android.net.ConnectivityManager.requestNetwork(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback, android.os.Handler).

Aplica-se a