Langue

WifiNetworkSpecifier.Builder.Build Méthode

Définition

Créez un objet spécificateur utilisé pour demander un réseau 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

Retours

Instance de NetworkSpecifier.

Attributs

Remarques

Créez un objet spécificateur utilisé pour demander un réseau Wi-Fi. Le généré NetworkSpecifier doit être utilisé NetworkRequest.Builder#setNetworkSpecifier(NetworkSpecifier) lors de la génération du NetworkRequest.

Lorsque vous utilisez des variantes ou des ConnectivityManager#requestNetwork(NetworkRequest, NetworkCallback) variantes, notez que certains appareils peuvent ne pas prendre en charge la demande d’un réseau avec toutes les combinaisons de membres du spécificateur. Par exemple, certains appareils peuvent uniquement prendre en charge la demande de réseaux locaux uniquement (réseaux sans fonctionnalité) ou ne prennent pas en charge la NetworkCapabilities#NET_CAPABILITY_INTERNET demande d’une bande particulière. Toutefois, il n’existe aucune restriction lors de l’utilisation ConnectivityManager#registerNetworkCallback(NetworkRequest, NetworkCallback) ou d’autres méthodes similaires qui surveillent, mais ne demandent pas de réseaux.

Si l’appareil ne peut pas prendre en charge une demande, l’application reçoit un appel à NetworkCallback#onUnavailable().

Lors de la demande d’un réseau local uniquement, les applications peuvent définir une combinaison d’analyseurs de correspondance réseau : <li> SSID Pattern using #setSsidPattern(PatternMatcher) OR Specific SSID using #setSsid(String). </li> AND/OR <li> BSSID Pattern using #setBssidPattern(MacAddress, MacAddress) OR Specific BSSID using #setBssid(MacAddress)</li> pour déclencher la connexion à un réseau qui correspond aux paramètres définis. Le système trouve l’ensemble de réseaux correspondant à la demande et présente l’utilisateur avec une boîte de dialogue système qui permet à l’utilisateur de sélectionner un réseau Wi-Fi spécifique à se connecter ou de refuser la demande.

Pour protéger la confidentialité des utilisateurs, certaines limitations de la capacité des modèles correspondants s’appliquent. En particulier, lorsque le système génère un réseau pour satisfaire une NetworkRequest application, le système se réserve le droit de refuser la mise en correspondance du modèle SSID au SSID réel du réseau pour d’autres applications que l’application qui a demandé le réseau, et n’envoie pas ces rappels même si le SSID correspond au modèle demandé.

Par exemple : Pour vous connecter à un réseau ouvert avec un préfixe SSID de « test » et un 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 documentation pour android.net.wifi.WifiNetworkSpecifier.Builder.build().

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à