需要权限<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <wbr></wbr>
<uses-permission android:name="android.permission.INTERNET"></uses-permission><wbr></wbr>
public class IPViewerActivity extends ListActivity {
ListView listView;
String hostIP;
String macAddr;
TextView ipText;
List<String> list = new ArrayList<String>();
<wbr><wbr><wbr>@Override</wbr></wbr></wbr>
<wbr><wbr><wbr>public void onCreate(Bundle savedInstanceState) {</wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>super.onCreate(savedInstanceState);</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>setContentView(R.layout.main);</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>hostIP = getLocalIpAddress();</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>macAddr = getLocalMacAddress();</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>ipText = (TextView) this.findViewById(R.id.ip);</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>ipText.setText("ip:"+hostIP+"\nMacIP:"+macAddr);</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>list.add("hostIP: "+hostIP);</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>list.add("macAddr: "+macAddr);</wbr></wbr></wbr></wbr></wbr>
// <wbr><wbr><wbr><wbr>listView = this.getListView();</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list.toArray(new String[list.size()])));</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr>}</wbr></wbr></wbr>
public String getLocalIpAddress() { <wbr><wbr><wbr></wbr></wbr></wbr>
<wbr><wbr>try { <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>for (Enumeration<NetworkInterface> en = NetworkInterface <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>.getNetworkInterfaces(); en.hasMoreElements();) { <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>NetworkInterface intf = en.nextElement(); <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>for (Enumeration<InetAddress> enumIpAddr = intf <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>.getInetAddresses(); enumIpAddr.hasMoreElements();) { <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>InetAddress inetAddress = enumIpAddr.nextElement(); <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>if (!inetAddress.isLoopbackAddress()) { <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>return inetAddress.getHostAddress().toString(); <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>} <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>} <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>} <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>} catch (SocketException ex) { <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>Log.e("ifo", ex.toString()); <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>} <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>return ""; <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr>
} <wbr><wbr><wbr></wbr></wbr></wbr>
<wbr><wbr><wbr>public String getLocalMacAddress() { <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>WifiInfo info = wifi.getConnectionInfo(); <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>return info.getMacAddress(); <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr>} <wbr></wbr></wbr></wbr></wbr>
}
获取设备IP与MAC地址
本文介绍了如何在Android应用中获取设备的IP地址与MAC地址,包括使用WifiManager类进行操作,并通过网络权限确保功能实现。
356

被折叠的 条评论
为什么被折叠?



