Sprache

WifiNetworkSpecifier.Builder.Build Methode

Definition

Erstellen Sie ein Bezeichnerobjekt, das zum Anfordern eines Wi-Fi Netzwerks verwendet wird.

[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

Gibt zurück

Instanz von NetworkSpecifier.

Attribute

Hinweise

Erstellen Sie ein Bezeichnerobjekt, das zum Anfordern eines Wi-Fi Netzwerks verwendet wird. Die generierte NetworkSpecifier Sollte beim NetworkRequest.Builder#setNetworkSpecifier(NetworkSpecifier) Erstellen der NetworkRequest.

Beachten Sie bei Verwendung mit ConnectivityManager#requestNetwork(NetworkRequest, NetworkCallback) oder Varianten, dass einige Geräte das Anfordern eines Netzwerks mit allen Kombinationen von Bezeichnermitgliedern möglicherweise nicht unterstützen. Einige Geräte unterstützen z. B. nur das Anfordern von lokalen Netzwerken (Netzwerke ohne Funktion NetworkCapabilities#NET_CAPABILITY_INTERNET ) oder das Anfordern eines bestimmten Bandes nicht. Es gibt jedoch keine Einschränkungen bei der Verwendung ConnectivityManager#registerNetworkCallback(NetworkRequest, NetworkCallback) oder anderen ähnlichen Methoden, die Netzwerke überwachen, aber nicht anfordern.

Wenn das Gerät eine Anforderung nicht unterstützen kann, erhält die App einen Anruf an NetworkCallback#onUnavailable().

Beim Anfordern eines lokalen Netzwerks können Apps eine Kombination aus Netzwerkvergleichsparametern festlegen: <li> SSID-Muster mit #setSsidPattern(PatternMatcher) OR Specific SSID using #setSsid(String). </li> AND/OR <li> BSSID Pattern using OR Specific BSSID using #setBssid(MacAddress)#setBssidPattern(MacAddress, MacAddress)</li> to trigger connection to a network that matches the set params. Das System findet die Gruppe von Netzwerken, die der Anforderung entsprechen, und zeigt dem Benutzer ein Systemdialogfeld an, mit dem der Benutzer ein bestimmtes Wi-Fi Netzwerk auswählen kann, mit dem eine Verbindung hergestellt oder die Anforderung verweigert werden kann.

Um die Privatsphäre des Benutzers zu schützen, gelten einige Einschränkungen für die Möglichkeit von Abgleichsmustern. Insbesondere behält sich das System vor, wenn das System ein Netzwerk zur Erfüllung einer NetworkRequest App aufruft, das Recht vor, den Abgleich des SSID-Musters mit dem tatsächlichen SSID-Muster des Netzwerks für andere Apps als die App abzulehnen, die das Netzwerk angefordert hat, und diese Rückrufe nicht zu senden, auch wenn die SSID dem angeforderten Muster entspricht.

Beispiel: So stellen Sie eine Verbindung mit einem geöffneten Netzwerk mit dem SSID-Präfix "test" und einer BSSID-OUI von "10:03:23" her:

{@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 Dokumentation für android.net.wifi.WifiNetworkSpecifier.Builder.build().

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: