Для получения списка доступных Wi-Fi-сетей вы можете использовать ScanResults Property от Android.Net.Wifi.WifiManager Class. Например:
var wifiManager = (WifiManager)GetSystemService(Context.WifiService);
//open wifi
if (!wifiManager.IsWifiEnabled)
wifiManager.SetWifiEnabled(true);
var wifiList = wifiManager.ScanResults;
Чтобы сделать это, вам нужно будет включить все связанные с WiFi возможности в манифесте приложения, как:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
Чтобы задать статические IP-адреса, то никакого открытого API не может сделать это Работа. И Apis вроде Android.Provider.Settings.System.WifiStaticGateway
устарели, обычно мы используем отражение в традиционном приложении Java android для установки WifiConfiguration
, как в этом случае: How to configue a static IP address, netmask, gateway programmatically on Android 3.x or 4.x.
Хотя здесь в Xamarin, по умолчанию WifiConfiguration
как это:
{* ID: -1 SSID: нулевая BSSID: нулевая ПРИО: 0 KeyMgmt: Протоколы: AuthAlgorithms: PairwiseCiphers: GroupCiphers : PSK: назначение IP-: НЕРАСПРЕДЕЛЕННЫЕ настройки прокси : НЕРАСПРЕДЕЛЕННЫЕ {LinkAddresses: [] Маршруты: [] DnsAddresses: [] Домены: nullMTU: 0}}
, но после некоторого исследования я обнаружил, что поля, такие как ipAssignment
по умолчанию для Android WifiConfiguration.java, недоступны в приложении xamarin.android. Мы не знаем, как Xamarin.Android инкапсулирует его WifiConfiguration
.
я не мог найти способ изменить свою IP assignment
и Proxy settings
, поэтому я лично сомневаюсь настройки статического IP-адреса может быть сделано, если мы не знаем, как WifiConfiguration
из Xamarin.Android выглядит.