Potrzebuję zmierzyć sygnał Wi-Fi Direct (sygnał RSSI) między dwoma telefonami z Androidem. Jak mogę to zrobić?Android Wi-Fi Direct odczytanie siły sygnału rssi
Odpowiedz
Utwórz klasę odbiornika w swojej klasie aktywności, która wykona jakąś czynność (wyświetl komunikat/zapis w zmiennej), gdy zmieni się siła RSSI. Można to zrobić w następujący sposób:
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 to metoda, którą należy określić, która wykonuje wymagane zadanie.
czy jesteś pewien, że dotyczy to Wi-Fi Direct? Myślę, że dotyczy to zwykłego Wi-Fi! – noor
@ alsadi90 przepraszam za spóźnioną odpowiedź! Masz rację. W rzeczywistości dotyczy to Wi-Fi. Wcześniej, myślałem, że moc sygnału RSSI dla WiFi i Wi-Fi Direct musi być taka sama, ale teraz wygląda na to, że tak nie jest. Android działa na Linux-ie i możesz potrzebować niektórych argumentów linii poleceń, aby uzyskać RSSI dla WiFi-Direct. Zobacz [tutaj] (http://android.stackexchange.com/questions/40821/how-to-measure-the-rssi-strength-signal-between-peers-using-wifi-direct) – 10101010
Do czasu obecnej wersji Androida (v4.2.2 r1), RSSI dla WiFi Direct jest zakodowany na stałe.
Czy znalazłeś jakieś rozwiązanie? – ntrx
Czy potrzebujesz metody uzyskania RSSI WiFi lub czegoś innego? –