2011-03-19 70 views
1

我無法實時獲取RSSI測量結果而無法連接到特定的網絡,即我正在使用wifiManager.getScanResults();查看每個可達AP的RSSI值,但我不知道如何使用ScanResults執行此操作!有沒有其他方法可以進行RSSI測量並更新他?我不知道如何在廣播接收器中使用WifiManager.RSSI_CHANGED_ACTION,因爲如果我連接到特定網絡,這種方法只會給我更新RSSI,不是嗎?如何實時實現三個WiFi接入點的信號強度?

基本上,我想在同一時間更新3 AP的RSSI,是這樣的:

UPDATE_RSSI < - AP1
UPDATE_RSSI < - AP2
UPDATE_RSSI < - AP3

回答

0

我試着在過去對Wifi做了一些調整,但我不確定這些信息是否會完全有助於您的確切需要。

這一點在註冊接收器,你可以說wifiManager.startScan()來啓動掃描:

IntentFilter filter = new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); 
registerReceiver(wifiReceiver, filter); 
wifiManager.startScan(); 

然後在你的活動在全球範圍內,你需要申報wifiReceiver

private final BroadcastReceiver wifiReceiver = new BroadcastReceiver() 
{ 
    @Override 
    public void onReceive(Context ctx, Intent intent) 
    { 
     List<ScanResult> results = wifi.getScanResults(); 
      .... 
    } 
} 

ScanResult包含接收器一些信息如level這是我認爲你正在測量的東西。

此信息有幫助嗎?