Settings.System
включает в себя несколько флагов, которые вы можете использовать для этого:
WIFI_USE_STATIC_IP
WIFI_STATIC_IP
WIFI_STATIC_NETMASK
WIFI_STATIC_GATEWAY
WIFI_STATIC_DNS1
и WIFI_STATIC_DNS2
Вам также потребуется разрешение android.permission.WRITE_SETTINGS
, заявленное для вашего приложения.
Тогда в вашей деятельности:
final ContentResolver cr = getContentResolver();
Settings.System.putInt(cr, Settings.System.WIFI_USE_STATIC_IP, 1);
Settings.System.putString(cr, Settings.System.WIFI_STATIC_IP, "you.re.ip.addr");
// call putString() for each value to set for your interface
Если вы хотите изменить IP-адрес интерфейса 3G / 4G и т. Д. Оператора, я не верю, что это возможно - поскольку он подключен к оператору и использует его DHCP / безопасность для подключения и использования услуги (вроде изменения внешнего IP-адреса вашего кабельного модема без согласия вашего провайдера).