wifi 信号强度问题

suv3389 2011-11-04 03:28:51

wifimanager.startScan()
wifimanager.getScanReasult()
获得的 ScanReasult 中的 level 值都是 -1 ,不会改变

只有当前连接的热点信号强度可以用
wifimanager.getconnectioninfo().getRssi()
得到 ,这个值也是个负数,但是可以改变

现在的问题是,怎样得到所有能搜到的热点的信号强度呢?
...全文
800 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
雏鹰高飞 2014-07-14
  • 打赏
  • 举报
回复
using System;
using System.Diagnostics;

namespace WifiTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Process proc = new Process();
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.FileName = "netsh";
            proc.StartInfo.Arguments = "wlan show networks mode=bssid";
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.UseShellExecute = false;
            proc.Start();
            string output = proc.StandardOutput.ReadToEnd();
            proc.WaitForExit();

            Console.WriteLine(output);
            Console.Read();
        }
    }
}
kami_1257 2013-03-26
  • 打赏
  • 举报
回复
能问下你这个问题最后解决了么???我也遇到同样的问题了···帮助一下··
CyberLogix 2011-11-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 s38062708 的回复:]

public class WifisignalActivity extends Activity {
TextView mainText;
WifiManager mainWifi;
WifiReceiver receiverWifi;
List<ScanResult> wifiList;
StringBu……
[/Quote]

这个就是答案了,
suv3389 2011-11-08
  • 打赏
  • 举报
回复
路过的朋友帮忙看下,做过的朋友帮个忙了
suv3389 2011-11-08
  • 打赏
  • 举报
回复
public class WifisignalActivity extends Activity {
TextView mainText;
WifiManager mainWifi;
WifiReceiver receiverWifi;
List<ScanResult> wifiList;
StringBuilder sb = new StringBuilder();

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setTitle("eoe教程: Wifi Test. -by:IceskYsl");
mainText = (TextView) findViewById(R.id.wifi);
mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

receiverWifi = new WifiReceiver();
registerReceiver(receiverWifi, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
mainWifi.startScan();
mainText.setText("\nStarting Scan...\n");
}

public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, "Refresh");
return super.onCreateOptionsMenu(menu);
}

public boolean onMenuItemSelected(int featureId, MenuItem item) {
mainWifi.startScan();
mainText.setText("Starting Scan");
return super.onMenuItemSelected(featureId, item);
}

protected void onPause() {
unregisterReceiver(receiverWifi);
super.onPause();
}

protected void onResume() {
registerReceiver(receiverWifi, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
super.onResume();
}

class WifiReceiver extends BroadcastReceiver
{
public void onReceive(Context c, Intent intent)
{
//Bundle bd = intent.getExtras();
//if (bd != null)
//{
// int nrssi = bd.getInt(WifiManager.EXTRA_NEW_RSSI);
//}
sb = new StringBuilder();
wifiList = mainWifi.getScanResults();
//bd = intent.getExtras();
for (int i = 0; i < wifiList.size(); i++)
{
sb.append(new Integer(i + 1).toString() + ".");
sb.append((wifiList.get(i)).toString());
sb.append("\n\n");
}
mainText.setText(sb);
}
}


这是我在网上找的代码,运行后信号强度一直显示 -1,而且除了程序启动时能进入到 WifiReceiver 中,运行期间都没有进入过该函数,我有三个WIFI信号源
注释的几行是我写的 INTENT,取到的 bundle 是 null
请大家指点下该怎样做,哪怕是个提示也行啊
suv3389 2011-11-08
  • 打赏
  • 举报
回复
还是没有解决呀,哪位大侠路过帮个忙吧??!!
suv3389 2011-11-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 peijiangping1989 的回复:]

留下邮箱,我发源码你你自己研究吧。
[/Quote]

多谢,这是我的邮箱

sg3310@163.com
suv3389 2011-11-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 oexpress 的回复:]

引用 5 楼 s38062708 的回复:

public class WifisignalActivity extends Activity {
TextView mainText;
WifiManager mainWifi;
WifiReceiver receiverWifi;
List<ScanResult> wifiList;
StringBu……


这个就是答案了……
[/Quote]

不明白,我看到的 ScanResult 里的 level 都是 -1
小裴同学 2011-11-08
  • 打赏
  • 举报
回复
留下邮箱,我发源码你你自己研究吧。
suv3389 2011-11-07
  • 打赏
  • 举报
回复
顶一下,难道没人知道这个问题吗?
suv3389 2011-11-07
  • 打赏
  • 举报
回复
我查了文档,
好象应该在 WifiManager 中使用 EXTRA_NEW_RSSI
可是我不知道该怎样使用,请高手指教
suv3389 2011-11-07
  • 打赏
  • 举报
回复
能给写点代码吗?
我现在还不会用 Intent 和广播
非常感谢
wenzheng38 2011-11-07
  • 打赏
  • 举报
回复
监听Wifi状态发生改变的广播,通过Intent的方法getExtra(WifiManager.EXTRA_NEW_RSSI
)或者getXxxExtra()获取相应的值

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧