-1
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    WifiManager mainWifiObj;
    mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
    class WifiScanReceiver extends BroadcastReceiver {

       public void onReceive(Context c, Intent intent) {
       }
    }
    WifiScanReceiver wifiReciever = new WifiScanReceiver();
    registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

    List<ScanResult> wifiScanList = mainWifiObj.getScanResults(); int signalLevel = 0; StringBuilder sb = new StringBuilder();
    for (ScanResult result : wifiScanList) {

      sb.append(result.level)  ;
    } 
    TextView tv = new TextView(this);
    tv.setText(sb); 
    setContentView(tv);

这段代码给了我所有来自连接路由器的信号强度。它给了我答案,例如 -43 -55 -66 -76 -85 -87。现在我只想访问特定路由器的信号强度。不是所有的 6 个 6 路由器都连接。

如何找到特定路由器的强度?

你能帮帮我吗?提前致谢。

4

1 回答 1

0

只需查看 SSID:

for (ScanResult result : wifiScanList) {
    if( result.SSID.equals( "TheSSIDIWant" )
        Log.d( "Wifi Scan", "Signal Level for TheSSIDIWant is " + result.level );
} 
于 2014-02-14T16:10:51.623 回答