2013-02-17 2 views
13

두 개의 Android 휴대 전화 사이에서 Wi-Fi Direct 신호 (RSSI 신호)를 측정해야합니다. 어떻게 할 수 있습니까?Android Wi-Fi rssi 신호 강도 직접 읽기

+0

이 문제에 해결책이 있습니까? – ntrx

+0

WiFi의 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는 필요한 작업을 정의하는 방법입니다.

+0

Wi-Fi Direct를 사용 하시겠습니까? 나는 이것이 일반 Wi-Fi를위한 것이라고 생각한다! – noor

+0

@ alsadi90 늦게 답변드립니다. 당신 말이 맞습니다. 이것은 실제로 Wi-Fi에 대한 것입니다. 사실, 이전에 저는 WiFi 및 WiFi 직접 신호의 RSSI 신호 강도가 동일해야한다고 생각했지만 지금은 그렇지 않은 것처럼 보입니다. Android는 Linux에서 작동하며 WiFi-Direct 용 RSSI를 얻으려면 명령 줄 인수를 사용해야 할 수도 있습니다. 보세요 [여기] (http://android.stackexchange.com/questions/40821/how-to-measure-the-rssi-strength-signal-between-peers-using-wifi-direct) – 10101010

0

현재 Android 버전 (v4.2.2 r1)까지는 WiFi Direct의 RSSI가 하드 코딩되어 있습니다.

Link