HelperUtils.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package de.tudarmstadt.informatik.hostage.commons;
  2. import java.net.InetAddress;
  3. import java.net.UnknownHostException;
  4. import org.apache.http.HttpEntity;
  5. import org.apache.http.HttpResponse;
  6. import org.apache.http.client.HttpClient;
  7. import org.apache.http.client.methods.HttpGet;
  8. import org.apache.http.impl.client.DefaultHttpClient;
  9. import org.apache.http.util.EntityUtils;
  10. import org.json.JSONObject;
  11. import android.content.Context;
  12. import android.net.ConnectivityManager;
  13. import android.net.NetworkInfo;
  14. import android.net.wifi.WifiInfo;
  15. import android.net.wifi.WifiManager;
  16. import android.text.TextUtils;
  17. public final class HelperUtils {
  18. public static String getSSID(Context context) {
  19. String ssid = null;
  20. ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
  21. NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
  22. if (networkInfo != null && networkInfo.isConnected()) {
  23. final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
  24. final WifiInfo connectionInfo = wifiManager.getConnectionInfo();
  25. if (connectionInfo != null && !TextUtils.isEmpty(connectionInfo.getSSID())) {
  26. ssid = connectionInfo.getSSID();
  27. }
  28. }
  29. return ssid;
  30. }
  31. public static String getBSSID(Context context) {
  32. String bssid = null;
  33. ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
  34. NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
  35. if (networkInfo != null && networkInfo.isConnected()) {
  36. final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
  37. final WifiInfo connectionInfo = wifiManager.getConnectionInfo();
  38. if (connectionInfo != null && !TextUtils.isEmpty(connectionInfo.getSSID())) {
  39. bssid = connectionInfo.getBSSID();
  40. }
  41. }
  42. return bssid;
  43. }
  44. public static String getInternalIP(Context context){
  45. String ipAddress = null;
  46. ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
  47. NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
  48. if (networkInfo != null && networkInfo.isConnected()) {
  49. final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
  50. final WifiInfo connectionInfo = wifiManager.getConnectionInfo();
  51. if(connectionInfo != null){
  52. try {
  53. ipAddress = InetAddress.getByAddress(unpackInetAddress(connectionInfo.getIpAddress())).getHostAddress();
  54. } catch (UnknownHostException e) {
  55. }
  56. }
  57. }
  58. return ipAddress;
  59. }
  60. private static byte[] unpackInetAddress(int bytes) {
  61. return new byte[] { (byte) ((bytes) & 0xff),
  62. (byte) ((bytes >>> 8) & 0xff), (byte) ((bytes >>> 16) & 0xff),
  63. (byte) ((bytes >>> 24) & 0xff) };
  64. }
  65. public static String getExternalIP (Context context) {
  66. String ipAddress = null;
  67. try {
  68. HttpClient httpclient = new DefaultHttpClient();
  69. HttpGet httpget = new HttpGet("http://ip2country.sourceforge.net/ip2c.php?format=JSON");
  70. HttpResponse response;
  71. response = httpclient.execute(httpget);
  72. HttpEntity entity = response.getEntity();
  73. entity.getContentLength();
  74. String str = EntityUtils.toString(entity);
  75. JSONObject json_data = new JSONObject(str);
  76. ipAddress = json_data.getString("ip");
  77. }
  78. catch (Exception e){}
  79. return ipAddress;
  80. }
  81. }