2013-02-17 49 views
13

我需要测量两个Android手机之间的Wi-Fi Direct信号(RSSI信号)。 我该怎么做?Android Wi-Fi Direct读取rssi信号强度

+0

你有没有发现这方面的任何解决方案? – ntrx 2016-01-18 18:32:43

+0

你需要什么方法来获得WiFi或其他的RSSI? – 2016-01-21 12:11:26

回答

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 2013-02-24 16:43:17

+0

@ alsadi90对于迟到的回复感到抱歉! 你说得对。实际上,早些时候我认为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 2013-04-13 11:23:27

0

直到当前版本的Android(v4.2.2 r1),WiFi Direct的RSSI才被硬编码。

Link