admin 管理员组文章数量: 1184232
获取当前IP地址:
package com.international.wtw.lottery.utils;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
public class NetWorkIPUtils {
public static String getIPAddress(Context context) {
String strIPAddress = "";
NetworkInfo info = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
if (info != null) {
boolean available = info.isAvailable();//判断网络是否可用
boolean connected = info.isConnected();//判断网络是否连接
if (available && connected) {
if (info.getType() == ConnectivityManager.TYPE_MOBILE) {//手机网络
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {
NetworkInterface inter = en.nextElement();
for (Enumeration<InetAddress> enumIpAddress = inter.getInetAddresses(); enumIpAddress.hasMoreElements(); ) {
InetAddress inetAddress = enumIpAddress.nextElement();
if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
strIPAddress = inetAddress.getHostAddress();
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
} else if (info.getType() == ConnectivityManager.TYPE_WIFI) {//WIFI网络
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
strIPAddress = int2ip(wifiInfo.getIpAddress());
}
} else {
LogUtil.e("info网络不可用或未连接");
}
} else {
LogUtil.e("info信息为空");
}
return strIPAddress;
}
/**
* 将ip的整数形式转换成ip形式
*
* @param ipInt
* @return
*/
private static String int2ip(int ipInt) {
StringBuilder sb = new StringBuilder();
sb.append(ipInt & 0xFF).append(".");
sb.append((ipInt >> 8) & 0xFF).append(".");
sb.append((ipInt >> 16) & 0xFF).append(".");
sb.append((ipInt >> 24) & 0xFF);
return sb.toString();
}
}
版权声明:本文标题:独家分享:用最简单方式在Android上找到你的网络身份 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1771845597a3549211.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论