Language

WifiNetworkSpecifier.Builder.Build メソッド

定義

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

返品

NetworkSpecifierの例。

属性

注釈

Wi-Fi ネットワークを要求するために使用する指定子オブジェクトを作成します。 生成されたNetworkSpecifierは、NetworkRequestをビルドするときにNetworkRequest.Builder#setNetworkSpecifier(NetworkSpecifier)で使用する必要があります。

ConnectivityManager#requestNetwork(NetworkRequest, NetworkCallback)またはバリアントと共に使用する場合、一部のデバイスでは、指定子メンバーのすべての組み合わせでネットワークの要求がサポートされない場合があることに注意してください。 たとえば、一部のデバイスでは、ローカルのみのネットワーク ( NetworkCapabilities#NET_CAPABILITY_INTERNET 機能のないネットワーク) の要求のみをサポートしたり、特定のバンドの要求をサポートしていない場合があります。 ただし、ネットワークを監視するが要求しない ConnectivityManager#registerNetworkCallback(NetworkRequest, NetworkCallback) またはその他の同様の方法を使用する場合は、制限はありません。

デバイスが要求をサポートできない場合、アプリは NetworkCallback#onUnavailable()への呼び出しを受け取ります。

ローカル専用ネットワークを要求する場合、アプリはネットワーク マッチ パラメーターの組み合わせを設定できます。 <li> SSID パターンは、 #setSsidPattern(PatternMatcher) を使用するか、 #setSsid(String)を使用して特定の SSID を使用します。 </li> AND/OR <li>#setBssidPattern(MacAddress, MacAddress) を使用した BSSID パターンまたは #setBssid(MacAddress)</li> を使用した特定の BSSID パターンを使用して、設定されたパラメーターに一致するネットワークへの接続をトリガーします。 システムは、要求に一致するネットワークのセットを検索し、ユーザーにシステム ダイアログを表示します。これにより、ユーザーは、要求に接続する、または拒否する特定の Wi-Fi ネットワークを選択できます。

ユーザーのプライバシーを保護するために、パターンの照合機能にいくつかの制限が適用されます。 特に、システムが一部のアプリからの NetworkRequest を満たすためにネットワークを起動する場合、システムは、ネットワークを要求したアプリ以外のアプリの SSID パターンとネットワークの実際の SSID との一致を拒否する権利を留保し、SSID が要求されたパターンと一致する場合でも、それらのコールバックを送信しません。

例: SSID プレフィックスが "test" で BSSID OUI が "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ドキュメント。

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

適用対象