这里演示通过编程方式动态修改手机静态IP的方法,可以用于wifi接入点切换
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
ContentResolver cr = this.getContentResolver()
try {
if (Settings.System.getInt(cr, Settings.System.WIFI_USE_STATIC_IP)==0){
Log.d("Demo", "No use Static IP!")
}
else{
Log.d("Demo", "use Static IP and Change IP to 192.168.1.123!")
Settings.System.putString(cr, Settings.System.WIFI_STATIC_IP, "192.168.1.125")
Settings.System.putString(cr, Settings.System.WIFI_STATIC_GATEWAY, "192.168.1.1")
Settings.System.putString(cr, Settings.System.WIFI_STATIC_NETMASK, "255.255.255.0")
Settings.System.putString(cr, Settings.System.WIFI_STATIC_DNS1, "202.103.24.68")
Settings.System.putString(cr, Settings.System.WIFI_STATIC_DNS2, "202.103.0.68")
}
} catch (SettingNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
只需将IP设置改为“静态”,然后将IP地址设置为内网的地址,网关设置为路由器地址,域名设置为DNS地址,网络前缀长度为“24”,保存就可以了。参考资料: http://www.ju9.cn/html/1413_2721.html
首先需要设置权限<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
设置的代码如下:
import android.provider.Settings
Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_USE_STATIC_IP, "0")
Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS1, "192.168.0.2")
Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS2, "192.168.0.3")
Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_GATEWAY, "192.168.0.1")
Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_NETMASK, "255.255.255.0")
Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_IP, "1")
读取配置的代码如下:
String statdns1 = android.provider.Settings.System.WIFI_STATIC_DNS1
String statdns2 = android.provider.Settings.System.WIFI_STATIC_DNS2
String sgateway = android.provider.Settings.System.WIFI_STATIC_GATEWAY
String staticip = android.provider.Settings.System.WIFI_STATIC_IP
String snetmask = android.provider.Settings.System.WIFI_STATIC_NETMASK
String staticus = android.provider.Settings.System.WIFI_USE_STATIC_IP
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)