0

Я работаю над приложением Xamarin.Android на планшетном устройстве и работаю над созданием активности, которая имеет возможность подключаться к любым доступным сетям Wi-Fi и устанавливать отдельные статические IP-адреса для каждого из них при общении с устройством.Можете ли вы установить статический IP программно для списка Wi-Fi-сетей в Xamarin Android?

Ближайший я пришел к решению до сих пор Android.Net.Wifi.WifiManager.ConnectionInfo.IpAddress, но это только добытчик, и что в настоящее время подключены Wi-Fi сети:

public virtual int IpAddress { get; } 

Является ли это вообще возможно? Благодаря!

ответ

0

Для получения списка доступных 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 выглядит.

 Смежные вопросы

  • Нет связанных вопросов^_^