WifiNetworkSpecifier.Builder.Build Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Crie um objeto especificador usado para solicitar uma rede Wi-Fi.
[Android.Runtime.Register("build", "()Landroid/net/wifi/WifiNetworkSpecifier;", "", ApiSince=29)]
public Android.Net.Wifi.WifiNetworkSpecifier Build();
[<Android.Runtime.Register("build", "()Landroid/net/wifi/WifiNetworkSpecifier;", "", ApiSince=29)>]
member this.Build : unit -> Android.Net.Wifi.WifiNetworkSpecifier
Retornos
Instância de NetworkSpecifier.
- Atributos
Comentários
Crie um objeto especificador usado para solicitar uma rede Wi-Fi. O gerado NetworkSpecifier deve ser usado ao NetworkRequest.Builder#setNetworkSpecifier(NetworkSpecifier) compilar o NetworkRequest.
Ao usar com ConnectivityManager#requestNetwork(NetworkRequest, NetworkCallback) ou variantes, observe que alguns dispositivos podem não dar suporte à solicitação de uma rede com todas as combinações de membros especificados. Por exemplo, alguns dispositivos só podem dar suporte à solicitação de redes somente locais (redes sem a NetworkCapabilities#NET_CAPABILITY_INTERNET funcionalidade) ou não dar suporte à solicitação de uma banda específica. No entanto, não há restrições ao usar ConnectivityManager#registerNetworkCallback(NetworkRequest, NetworkCallback) ou outros métodos semelhantes que monitoram, mas não solicitam redes.
Se o dispositivo não puder dar suporte a uma solicitação, o aplicativo receberá uma chamada para NetworkCallback#onUnavailable().
Ao solicitar uma rede somente local, os aplicativos podem definir uma combinação de parâmetros de correspondência de rede: <li> SSID Pattern usando #setSsidPattern(PatternMatcher) OU SSID específico usando #setSsid(String).
</li> AND/OR <li> BSSID Pattern using #setBssidPattern(MacAddress, MacAddress) OR Specific BSSID using #setBssid(MacAddress)</li> to trigger connection to a network that correspond the set params. O sistema encontrará o conjunto de redes que correspondem à solicitação e apresentará ao usuário uma caixa de diálogo do sistema que permitirá que o usuário selecione uma rede Wi-Fi específica para se conectar ou negar a solicitação.
Para proteger a privacidade do usuário, algumas limitações à capacidade de correspondência de padrões se aplicam. Em particular, quando o sistema cria uma rede para atender a um NetworkRequest de algum aplicativo, o sistema se reserva o direito de recusar a correspondência do padrão SSID com o SSID real da rede para outros aplicativos que não o aplicativo que solicitou a rede e não enviar esses retornos de chamada mesmo que o SSID corresponda ao padrão solicitado.
Por exemplo: para se conectar a uma rede aberta com um prefixo SSID de "teste" e uma OUI BSSID de "10:03:23":
{@code
final NetworkSpecifier specifier =
new Builder()
.setSsidPattern(new PatternMatcher("test", PatternMatcher.PATTERN_PREFIX))
.setBssidPattern(MacAddress.fromString("10:03:23:00:00:00"),
MacAddress.fromString("ff:ff:ff:00:00:00"))
.build()
final NetworkRequest request =
new NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.setNetworkSpecifier(specifier)
.build();
final ConnectivityManager connectivityManager =
context.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkCallback networkCallback = new NetworkCallback() {
...
{@literal @}Override
void onAvailable(...) {}
// etc.
};
connectivityManager.requestNetwork(request, networkCallback);
}
Java documentação para android.net.wifi.WifiNetworkSpecifier.Builder.build().
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.