以前に選択した AP から RSSI 測定値を取得してこのアプリを実行していますが (以下のコードに記載されている「recebidos」変数で取得されます)、ブロードキャスト受信でスキャンした後、アプリケーションは RSSI 値を更新していません。常に以前の値を返すだけです!!! このコードの何が問題なのですか? getScanResults を で使用できませんWifiManager.SCAN_RESULTS_AVAILABLE_ACTION
か?
私を助けてください...
private final BroadcastReceiver wifiReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context ctx, Intent intent)
{
listaAP=wifiManager.getScanResults();
recebidos=nivel.split("SP1");
StringBuffer scanList = new StringBuffer();
if (listaAP != null) {
for (int i = listaAP.size() - 1; i >= 0; i--) {
final ScanResult scanResult = listaAP.get(i);
if (scanResult == null) {
continue;
}
if (TextUtils.isEmpty(scanResult.BSSID)) {
continue;
}
scanList.append("SP1ID:"+scanResult.BSSID+"RSSI"+scanResult.level);
}
results=scanList.toString().split("SP1");
for(int z=0;z<results.length;z++)
{
for(int x=0;x<recebidos.length;x++)
{
if(results[z].compareTo(recebidos[x])==0)
{
textRssi.append(results[z]);
}
}
}
}}};