package de.tudarmstadt.informatik.hostage.commons; import java.net.InetAddress; import java.net.UnknownHostException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import org.json.JSONObject; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.text.TextUtils; public final class HelperUtils { public static String getSSID(Context context) { String ssid = null; ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (networkInfo != null && networkInfo.isConnected()) { final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); final WifiInfo connectionInfo = wifiManager.getConnectionInfo(); if (connectionInfo != null && !TextUtils.isEmpty(connectionInfo.getSSID())) { ssid = connectionInfo.getSSID(); } } return ssid; } public static String getBSSID(Context context) { String bssid = null; ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (networkInfo != null && networkInfo.isConnected()) { final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); final WifiInfo connectionInfo = wifiManager.getConnectionInfo(); if (connectionInfo != null && !TextUtils.isEmpty(connectionInfo.getSSID())) { bssid = connectionInfo.getBSSID(); } } return bssid; } public static String getInternalIP(Context context){ String ipAddress = null; ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (networkInfo != null && networkInfo.isConnected()) { final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); final WifiInfo connectionInfo = wifiManager.getConnectionInfo(); if(connectionInfo != null){ try { ipAddress = InetAddress.getByAddress(unpackInetAddress(connectionInfo.getIpAddress())).getHostAddress(); } catch (UnknownHostException e) { } } } return ipAddress; } private static byte[] unpackInetAddress(int bytes) { return new byte[] { (byte) ((bytes) & 0xff), (byte) ((bytes >>> 8) & 0xff), (byte) ((bytes >>> 16) & 0xff), (byte) ((bytes >>> 24) & 0xff) }; } public static String getExternalIP (Context context) { String ipAddress = null; try { HttpClient httpclient = new DefaultHttpClient(); HttpGet httpget = new HttpGet("http://ip2country.sourceforge.net/ip2c.php?format=JSON"); HttpResponse response; response = httpclient.execute(httpget); HttpEntity entity = response.getEntity(); entity.getContentLength(); String str = EntityUtils.toString(entity); JSONObject json_data = new JSONObject(str); ipAddress = json_data.getString("ip"); } catch (Exception e){} return ipAddress; } }