需要权限<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
public class IPViewerActivity extends ListActivity {
ListView listView;
String hostIP;
String macAddr;
TextView ipText;
List<String> list = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
hostIP = getLocalIpAddress();
macAddr = getLocalMacAddress();
ipText = (TextView) this.findViewById(R.id.ip);
ipText.setText("ip:"+hostIP+"\nMacIP:"+macAddr);
list.add("hostIP: "+hostIP);
list.add("macAddr: "+macAddr);
//
listView = this.getListView();
setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list.toArray(new String[list.size()])));
}
public String getLocalIpAddress() {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface
.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf
.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e("ifo", ex.toString());
}
return "";
}
public String getLocalMacAddress() {
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
return info.getMacAddress();
}
}