Android 获取当前IP地址

1.使用WIFI

首先设置用户权限

复制代码代码如下:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>  
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>  
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>  
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>  

1:获取wifi地址

public class NetWorkUtils {


    /**
     * 检查网络是否可用
     *
     * @param paramContext
     * @return
     */
    public static boolean checkEnableContext paramContext) {
        boolean i = false;
        NetworkInfo localNetworkInfo = ConnectivityManager) paramContext
                .getSystemService"connectivity")).getActiveNetworkInfo);
        if localNetworkInfo != null) && localNetworkInfo.isAvailable)))
            return true;
        return false;
    }

    /**
     * 将ip的整数形式转换成ip形式
     *
     * @param ipInt
     * @return
     */
    public static String int2ipint ipInt) {
        StringBuilder sb = new StringBuilder);
        sb.appendipInt & 0xFF).append".");
        sb.appendipInt >> 8) & 0xFF).append".");
        sb.appendipInt >> 16) & 0xFF).append".");
        sb.appendipInt >> 24) & 0xFF);
        return sb.toString);
    }

    /**
     * 获取当前ip地址
     *
     * @param context
     * @return
     */
    public static String getLocalIpAddressContext context) {
        try {

            WifiManager wifiManager = WifiManager) context
                    .getSystemServiceContext.WIFI_SERVICE);
            WifiInfo wifiInfo = wifiManager.getConnectionInfo);
            int i = wifiInfo.getIpAddress);
            return int2ipi);
        } catch Exception ex) {
            return " 获取IP出错鸟!!!!请保证是WIFI,或者请重新打开网络!
" + ex.getMessage);
        }
        // return null;
    }
}
//GPRS连接下的ip
public String getLocalIpAddress) {
    try {
        for Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces); en.hasMoreElements); ) {
            NetworkInterface intf = en.nextElement);
            for Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses); enumIpAddr.hasMoreElements); ) {
                InetAddress inetAddress = enumIpAddr.nextElement);
                if !inetAddress.isLoopbackAddress)) {
                    return inetAddress.getHostAddress).toString);
                }
            }
        }
    } catch SocketException ex) {
        Log.e"WifiPreference IpAddress", ex.toString));
    }
    return null;
}

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注