判断IP地址的工具类:
/**
* Created by zlliu on 17-2-9.
*/
public class IpUtil {
public static final String ACRA_REPORT_ADDRESS = "http://developer.miivii.com:5984/acra-bugreport/_design/acra-storage/_update/report";
public static final String ACRA_REPORT_LOGIN = "bugreport";
public static final String ACRA_REPORT_PASSWORD = "miiviibugreport";
// instead by your own machine IP address which you will connect to.
public static final String ROS_MASTER_URI = "http://10.42.0.1:11311/";
public static String getLocalIpAddress() {
InetAddress ip = null;
Enumeration<NetworkInterface> netInterfaces = null;
try {
netInterfaces = NetworkInterface.getNetworkInterfaces();
} catch (SocketException e) {
e.printStackTrace();
}
while (netInterfaces.hasMoreElements()) {
NetworkInterface ni = netInterfaces.nextElement();
// 遍历所有ip
Enumeration<InetAddress> ips = ni.getInetAddresses();
while (ips.hasMoreElements()) {
ip = ips.nextElement();
if (!ip.isLoopbackAddress() && ip instanceof Inet4Address) {
return ip.getHostAddress();
}
}
}
return null;
}
public static boolean configDevice(){
String ip = getLocalIpAddress();
if(ip == null) return false;
if(ip.substring(0,8).equals("10.42.0.")) return true;
return false;
}
public static URI getCustomURI() {
URI customMasterUri = null;
try {
customMasterUri = new URI("http://10.42.0.1:11311/");
} catch (URISyntaxException e) {
throw new RosRuntimeException(e);
}
return customMasterUri;
}
}