【问题标题】:How to detect Wifi or GPRS signal strength is strong or weak如何检测 Wifi 或 GPRS 信号强度是强还是弱
【发布时间】:2011-12-14 12:48:30
【问题描述】:

我正在开发一个调用 web 服务的 android 应用程序。我的问题是,如果我调用 web 服务并且 wifi 或 GPRS 强度较弱,那么我的应用程序强制关闭。如何检测 wifi 或 GPRS 信号强度是强还是弱?

【问题讨论】:

  • 检测这个有什么意义?您最好仔细查看错误并找出修复/处理它的方法。
  • 我只想在 Wifi 或 GPRS 信号强的情况下调用 web 服务。如果 Wifi 或 GPRS 信号强度弱,那么它会提示“Internet connection is low”
  • 如果在您检查信号强度后信号立即下降怎么办?

标签: android


【解决方案1】:

首先,确保您的清单中有<uses-permission> for ACCESS_WIFI_STATE

其次,我不确定单个连接的通知,但要获取收音机看到的所有内容的通知,您可以开始扫描:

wifi.startScan();

接下来,当我收到成功的结果时,我在 IntentFilter 中使用了WifiManager.SCAN_RESULTS_AVAILABLE_ACTION

然后,在接收器中,我使用来自 WifiManager 对象的getScanResults(),其中还包含信号强度。

要以这种方式停止它,您只需调用 unregisterRecever() (因此您需要保留它以供参考)。我还没有测试自己是否可以修改我的扫描代码以仅检查当前连接,但我确实知道我得到了很多结果——Wi-Fi 信号变化频繁且迅速。我想对于监控单个连接,您也可以过滤扫描结果并查找设备当前连接的那个。

我希望这会有所帮助。

Android wifi's signal strength

Android: How to monitor WiFi signal strength

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    相关资源
    最近更新 更多