我正在尝试连接AP的Wi-Fi信号强度。当我尝试运行下面的代码时,什么也没有返回/显示错误。
public class Wifi extends uiscenario {
public void onReceive(WifiManager wifiManager) throws UiObjectNotFoundException, InterruptedException, RemoteException, IOException {
System.out.println("level");
int numberOfLevels=4;
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int level=WifiManager.calculateSignalLevel(wifiInfo.getRssi(), numberOfLevels);
System.out.println("Bars =" +level);
}
}
如何获得连接的wifi的信号强度,以及如何获得wifi的扫描结果并连接到信号强度最强的wifi?
更新的代码
public class Wifi extends UiScenario {
private static WifiManager wifiManager;
public void wifiscan() throws UiObjectNotFoundException,InterruptedException,RemoteException, IOException {
int numberOfLevels=5;
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int level=WifiManager.calculateSignalLevel(wifiInfo.getRssi(), numberOfLevels);
System.out.println("Bars =" +level);
}
}
在该行中获取错误( wifiInfo wifiInfo= wifiManager.getConnectionInfo();)
发布于 2014-02-12 15:30:49
希望它能起作用。它对我来说工作得很好。
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
int linkSpeed = wifiManager.getConnectionInfo().getRssi();
发布于 2014-02-12 15:31:41
WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
int linkSpeed = wifiManager.getConnectionInfo().getRssi();
System.out.println("Link Speed is======"+linkSpeed);
发布于 2014-02-12 15:31:48
检查您的清单使用wifi的权限,并读取手机状态您的代码是完美的,它应该可以工作,否则请尝试此操作。
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
int linkSpeed = wifiManager.getConnectionInfo().getRssi();
https://stackoverflow.com/questions/21721261
复制相似问题