Jak programowo skonfigurować statyczny adres IP, maskę sieci, bramę w systemie Android 3.x lub 4.x.
Sprawdziłem w pytaniu Przepełnienie stosuInterfejs API do konfigurowania statycznych adresów IP w aplikacji na Androida.
Działa aż do Androida 2.3. Jednak na wyższym poziomie API nie ma szczęścia. Na przykład umieściłem ustawienie
<code>android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_USE_STATIC_IP, "1"); android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_IP, "192.168.0.100"); android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_NETMASK, "255.255.255.0"); android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS1, "192.168.0.254"); android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_GATEWAY, "192.168.0.254"); </code>
Ale wracam, by sprawdzić:
<code>Setting --> Wi-Fi --> Long Press Access Point SSID --> Modify Network --> check Show advanced options </code>
TheIP Settings
pole jest nadal podaneDHCP
ale nieStatic
.
To prawda, że mogę z niego korzystaćandroid.provider.Settings.System.getString()
odzyskać to, co ustawiłem. Dowodzi to, że ustawienie jest gdzieś zapisane, ale system po prostu je ignoruje.
System używa ustawienia innego niżandroid.provider.Settings.System
w systemie Android 3.x i 4.x, ponieważ ustawienie jest ustawione dla SSID punktu dostępu. Czy mogę zmodyfikować ustawienie jednego identyfikatora SSID tak, jak działa na Androida 2.3?