Android手机获取IP地址的两种方法
1.使用WIFI
首先设置用户权限
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> <uses-permissionandroid:name="android.permission.WAKE_LOCK"></uses-permission>
其次,代码如下
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取wifi服务
WifiManagerwifiManager=(WifiManager)getSystemService(Context.WIFI_SERVICE);
//判断wifi是否开启
if(!wifiManager.isWifiEnabled()){
wifiManager.setWifiEnabled(true);
}
WifiInfowifiInfo=wifiManager.getConnectionInfo();
intipAddress=wifiInfo.getIpAddress();
Stringip=intToIp(ipAddress);
EditTextet=(EditText)findViewById(R.id.EditText01);
et.setText(ip);
}
privateStringintToIp(inti){
return(i&0xFF)+"."+
((i>>8)&0xFF)+"."+
((i>>16)&0xFF)+"."+
(i>>24&0xFF);
}
2.使用GPRS
首先,设置用户上网权限
<uses-permissionandroid:name="android.permission.INTERNET"></uses-permission>
其次,代码如下
publicStringgetLocalIpAddress()
{
try
{
for(Enumeration<NetworkInterface>en=NetworkInterface.getNetworkInterfaces();en.hasMoreElements();)
{
NetworkInterfaceintf=en.nextElement();
for(Enumeration<InetAddress>enumIpAddr=intf.getInetAddresses();enumIpAddr.hasMoreElements();)
{
InetAddressinetAddress=enumIpAddr.nextElement();
if(!inetAddress.isLoopbackAddress())
{
returninetAddress.getHostAddress().toString();
}
}
}
}
catch(SocketExceptionex)
{
Log.e("WifiPreferenceIpAddress",ex.toString());
}
returnnull;
}
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短