【问题标题】:Know when wifi is connected to a particular SSID知道 wifi 何时连接到特定的 SSID
【发布时间】:2015-01-11 11:45:38
【问题描述】:

我正在开发一个应用程序,当 WiFi 连接到预定义的 SSID 时,我需要在其中启动服务。谁能帮我这个?当 WiFi 连接(未打开)时,android 中是否有广播?

【问题讨论】:

    标签: android wifi


    【解决方案1】:

    是的,它叫ConnectivityManager

    ConnectivityManager conMan = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo netInfo = conMan.getActiveNetworkInfo();
    

    您可以使用getType()来检查是否是WiFi连接:

    netInfo.getType() == ConnectivityManager.TYPE_WIFI
    

    更多信息请参见this post

    编辑

    获取SSID试试:

    WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    WifiInfo connectionInfo = wifiManager.getConnectionInfo();
    connectionInfo.getSSID();
    

    如所见here

    【讨论】:

    • 我将如何检查它所连接的 SSID?
    • 我已经编辑了帖子,因为我不知道如何格式化 cmets
    【解决方案2】:

    是的,为此有一个 BroadcastNETWORK_STATE_CHANGED_ACTION。当新状态为 CONNECTED 时,Intent 包含 BSSID 作为额外的(参见上面链接的文档)。您可以通过包含的NetworkInfo 对象检查状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      • 1970-01-01
      • 2021-02-05
      • 1970-01-01
      相关资源
      最近更新 更多