Мне нужно измерить сигнал Wi-Fi Direct (RSSI-сигнал) между двумя мобильными телефонами Android. Как я могу это сделать?
Android Wi-Fi Прямая считываемая мощность rssi
Ответ 1
Создайте класс вещательного приемника внутри вашего класса активности, который выполняет какое-либо действие (отображает некоторое сообщение/хранилище в переменной), когда изменяется сила RSSI. Это можно сделать следующим образом:
public class myReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
String myAction = intent.getAction();
if (myAction.equals(WifiManager.RSSI_CHANGED_ACTION))
{
manageNewRssi(intent.getIntExtra(WifiManager.EXTRA_NEW_RSSI,0));
}
}
}
manageNewRssi - это метод, который вы должны определить, который выполняет требуемую задачу.
Ответ 2
До текущей версии Android (v4.2.2 r1) RSSI для WiFi Direct жестко закодирован.