diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 218c2e0..94a5214 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -7,7 +7,6 @@
-
diff --git a/src/org/galexander/sshd/SimpleSSHD.java b/src/org/galexander/sshd/SimpleSSHD.java
index 308670a..df879cf 100644
--- a/src/org/galexander/sshd/SimpleSSHD.java
+++ b/src/org/galexander/sshd/SimpleSSHD.java
@@ -16,8 +16,10 @@ import android.net.Uri;
import java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;
-import android.net.wifi.WifiManager;
-import android.net.wifi.WifiInfo;
+import java.net.NetworkInterface;
+import java.net.InetAddress;
+import java.util.Collections;
+import java.util.List;
public class SimpleSSHD extends Activity
{
@@ -163,14 +165,18 @@ public class SimpleSSHD extends Activity
}
}
- public String get_ip() {
- WifiManager wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
- WifiInfo wi = wm.getConnectionInfo();
- int ip = wi.getIpAddress();
- return
- String.valueOf((ip>>0)&0xff) + "." +
- String.valueOf((ip>>8)&0xff) + "." +
- String.valueOf((ip>>16)&0xff) + "." +
- String.valueOf((ip>>24)&0xff);
+ public static String get_ip() {
+ try {
+ List interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
+ for (NetworkInterface intf : interfaces) {
+ List addrs = Collections.list(intf.getInetAddresses());
+ for (InetAddress addr : addrs) {
+ if (!addr.isLoopbackAddress()) {
+ return addr.getHostAddress();
+ }
+ }
+ }
+ } catch (Exception ex) { } // for now eat exceptions
+ return "";
}
}