this approach using java.net.NetworkInterface doesn't seem to work either

- it gives a random ipv6 address of no relation to any reality I'm
interested in, I think
sigsegv_dump
Greg Alexander 9 years ago
parent 615e835880
commit 63d63e4f84

@ -7,7 +7,6 @@
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application android:label="SimpleSSHD" android:icon="@drawable/icon"> <application android:label="SimpleSSHD" android:icon="@drawable/icon">
<activity android:name="SimpleSSHD" android:label="SimpleSSHD"> <activity android:name="SimpleSSHD" android:label="SimpleSSHD">
<intent-filter> <intent-filter>

@ -16,8 +16,10 @@ import android.net.Uri;
import java.io.File; import java.io.File;
import java.io.FileReader; import java.io.FileReader;
import java.io.BufferedReader; import java.io.BufferedReader;
import android.net.wifi.WifiManager; import java.net.NetworkInterface;
import android.net.wifi.WifiInfo; import java.net.InetAddress;
import java.util.Collections;
import java.util.List;
public class SimpleSSHD extends Activity public class SimpleSSHD extends Activity
{ {
@ -163,14 +165,18 @@ public class SimpleSSHD extends Activity
} }
} }
public String get_ip() { public static String get_ip() {
WifiManager wm = (WifiManager)getSystemService(Context.WIFI_SERVICE); try {
WifiInfo wi = wm.getConnectionInfo(); List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
int ip = wi.getIpAddress(); for (NetworkInterface intf : interfaces) {
return List<InetAddress> addrs = Collections.list(intf.getInetAddresses());
String.valueOf((ip>>0)&0xff) + "." + for (InetAddress addr : addrs) {
String.valueOf((ip>>8)&0xff) + "." + if (!addr.isLoopbackAddress()) {
String.valueOf((ip>>16)&0xff) + "." + return addr.getHostAddress();
String.valueOf((ip>>24)&0xff); }
}
}
} catch (Exception ex) { } // for now eat exceptions
return "";
} }
} }

Loading…
Cancel
Save