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;
}
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下