xxv*_*rmv 5 java android android-wifi android-studio android-9.0-pie
我正在 android studio 中为 android Pie 编写一个应用程序。我想获取 wifi 信息。
@RequiresApi(api = Build.VERSION_CODES.S)
public String getData() {
String wifiDataTest;
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int frequency = wifiInfo.getFrequency();
int ipAddress = wifiInfo.getIpAddress();
int speed = wifiInfo.getLinkSpeed();
String ssid = wifiInfo.getSSID();
int wifiStandard = wifiInfo.getWifiStandard();
wifiDataTest = "Frequency [MHz]: " + frequency + "\nIP address: " + ipAddress
+ "\nSpeed [Mbps]: " + speed + "\nSSID: " + ssid + "\nWifi standard: " + wifiStandard;
return "WIFI\n" + wifiDataTest;
}
Run Code Online (Sandbox Code Playgroud)
withint wifiStandard = wifiInfo.getWifiStandard ();显示了错误:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.sensors, PID: 11040
java.lang.NoSuchMethodError: No virtual method getWifiStandard()I in class Landroid/net/wifi/WifiInfo; or its super classes (declaration of 'android.net.wifi.WifiInfo' appears in /system/framework/framework.jar)
Run Code Online (Sandbox Code Playgroud)
我在任何地方都没有找到有关此类错误的信息。之前的一切都getWifiStandard ();运行良好。
您正在尝试运行包含getWifiStandard()仅在 Android 11 或更高版本上存在的方法的应用。
尝试这个 :
public String getData() {
String wifiDataTest;
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int frequency = wifiInfo.getFrequency();
int ipAddress = wifiInfo.getIpAddress();
int speed = wifiInfo.getLinkSpeed();
String ssid = wifiInfo.getSSID();
String wifiStandard = "";
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) {
wifiDataTest = "Frequency [MHz]: " + frequency + "\nIP address: " + ipAddress
+ "\nSpeed [Mbps]: " + speed + "\nSSID: " + ssid + "\nWifi standard: " + wifiInfo.getWifiStandard();
} else {
if (wifiInfo.getLinkSpeed() <= 11) wifiStandard = "802.b";
else if (wifiInfo.getLinkSpeed() <= 54) wifiStandard = "802.g";
else if (wifiInfo.getLinkSpeed() <= 300) wifiStandard = "802.11n";
else if (wifiInfo.getLinkSpeed() <= 866.5) wifiStandard = "802.11ac";
wifiDataTest = "Frequency [MHz]: " + frequency + "\nIP address: " + ipAddress
+ "\nSpeed [Mbps]: " + speed + "\nSSID: " + ssid + "\nWifi standard: " + wifiStandard;
}
return "WIFI\n" + wifiDataTest;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15714 次 |
| 最近记录: |