android - 如何获取Wifi接入点的连接强度?

标签 android wifi

我正在构建一个应用程序来读取每个可用 Wifi 接入点的信号强度。

我写过这样的代码:

    wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

    // Get WiFi status
    WifiInfo info = wifi.getConnectionInfo();
    textStatus.append("\n\nWiFi Status: " + info.toString());

    // List available networks
    List<WifiConfiguration> configs = wifi.getConfiguredNetworks();

但是,我有两个问题:

  1. 调试时,configs 只包含一个连接。但是,我可以看到系统的 wifi 设置中有几个可用的 AP。 IE。 configs 是一个不完整的列表。

  2. 我不知道如何在 WifiConfiguration 中获取信号强度。

顺便说一句,我使用的是 HTC Hero 和 Android 1.5。

最佳答案

根据 Android API 文档 WifiManager.getConfiguredNetworks()不填写信号强度参数。此数据仅代表记住的接入点设置,而不是可见的设置。

要获得实际可见的网络,您必须调用 WifiManager.startScan()启动 WiFi radio 扫描和 WifiManager.getScanResults()一段时间后得到扫描结果。

关于android - 如何获取Wifi接入点的连接强度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3437694/

相关文章:

java - 如何从上到下对轮廓进行排序: Opencv , Android

wifi - Phonegap可以查询wifi系统并返回网络名称吗?

android - Wifi 接入点是否有 IP 地址?

android - 使用 android.net.wifi.ScanResult 自动登录到受用户名/密码保护的 wifi 网络

android - bootstrap css 源或本地 android glyphicon 区别

java - 获取 Android 运行时 : Fatal Exception

java - Android - 以编程方式创建一行图标?

java - event.getSource 在辅助功能服务中返回 null。 (捕获第 3 方应用程序的源)

iPhone 3G/WiFi 连接

wifi断开后,Android socket仍然可以正常写入