在Androidstudio中的AndroidonClick的点击函数中添加调用一个函数用来手机所连接的WIFI的名字ip地址以及mac并且返回ip地址请提供给我3种方法点击函数接受之后要显示在页面要写出两个函数的实现逻辑并且获取i的方法不得低于3种
方法一:
- 在xml布局文件中设置Button的android:onClick为对应的函数名,如:android:onClick="showWifiInfo"
- 在对应的Activity中定义showWifiInfo函数,如:
public void showWifiInfo(View view) {
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String ssid = wifiInfo.getSSID();
String macAddress = wifiInfo.getMacAddress();
int ipAddress = wifiInfo.getIpAddress();
String info = "SSID: " + ssid + "\n" +
"Mac Address: " + macAddress + "\n" +
"IP Address: " + Formatter.formatIpAddress(ipAddress);
TextView textView = findViewById(R.id.textView);
textView.setText(info);
}
- 在函数中使用WifiManager获取当前连接的wifi信息,包括SSID、Mac地址和IP地址,并将其组合成字符串形式,最后显示在TextView上。
方法二:
- 在xml布局文件中设置Button的android:onClick为对应的函数名,如:android:onClick="showWifiInfo"
- 在对应的Activity中定义showWifiInfo函数,如:
public void showWifiInfo(View view) {
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String info = "SSID: " + getWifiName(wifiManager) + "\n" +
"Mac Address: " + getMacAddress(wifiInfo) + "\n" +
"IP Address: " + getIPAddress(wifiInfo);
TextView textView = findViewById(R.id.textView);
textView.setText(info);
}
private String getWifiName(WifiManager wifiManager) {
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String ssid = wifiInfo.getSSID();
if (ssid.startsWith("\"") && ssid.endsWith("\"")) {
ssid = ssid.substring(1, ssid.length() - 1);
}
return ssid;
}
private String getMacAddress(WifiInfo wifiInfo) {
return wifiInfo.getMacAddress();
}
private String getIPAddress(WifiInfo wifiInfo) {
int ipAddress = wifiInfo.getIpAddress();
return Formatter.formatIpAddress(ipAddress);
}
- 在函数中使用WifiManager获取当前连接的wifi信息,包括SSID、Mac地址和IP地址,将其分别封装为三个函数,最后组合成字符串形式,显示在TextView上。
方法三:
- 在xml布局文件中设置Button的android:onClick为对应的函数名,如:android:onClick="showWifiInfo"
- 在对应的Activity中定义showWifiInfo函数,如:
public void showWifiInfo(View view) {
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String ssid = wifiInfo.getSSID();
String macAddress = wifiInfo.getMacAddress();
int ipAddress = wifiInfo.getIpAddress();
String info = String.format("SSID: %s\nMac Address: %s\nIP Address: %s", ssid, macAddress, Formatter.formatIpAddress(ipAddress));
TextView textView = findViewById(R.id.textView);
textView.setText(info);
}
- 在函数中使用WifiManager获取当前连接的wifi信息,包括SSID、Mac地址和IP地址,并使用String.format将其组合成字符串形式,最后显示在TextView上。
获取IP地址的方法:
- 使用WifiInfo的getIpAddress方法获取到IP地址,再使用Formatter.formatIpAddress将其转换为字符串形式。
- 使用InetAddress的getByName方法获取到IP地址,再使用getHostAddress将其转换为字符串形式。
- 使用NetworkInterface的getNetworkInterfaces方法获取到所有的网络接口信息,再使用getInetAddresses获取到每个接口的IP地址,最后找到当前连接的IP地址。
原文地址: https://www.cveoy.top/t/topic/bto8 著作权归作者所有。请勿转载和采集!