首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查wifi是否连接到特定的SSID

如何检查wifi是否连接到特定的SSID
EN

Stack Overflow用户
提问于 2011-09-27 13:52:47
回答 3查看 13K关注 0票数 3

我读到了这个解决方案:How to check network connection enable or disable in WIFI and 3G(data plan) in mobile? .BUT,它只是检查wifi网络是否连接。如何检查wifi是否连接到特定的SSID?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-27 14:25:36

代码类似,同样使用系统服务,确保您连接到某个东西并获取SSID:

代码语言:javascript
复制
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()) == NetworkInfo.DetailedState.CONNECTED) {
    String ssid = wifiInfo.getSSID();
}
票数 9
EN

Stack Overflow用户

发布于 2012-07-09 18:12:43

代码语言:javascript
复制
public static boolean IsWiFiConnected(Context context) {
    ConnectivityManager connectivity = (ConnectivityManager) context
        .getApplicationContext().getSystemService(
            Context.CONNECTIVITY_SERVICE);

    if (connectivity != null) {
      NetworkInfo[] info = connectivity.getAllNetworkInfo();
      if (info != null) {
        for (int i = 0; i < info.length; i++) {
          if (info[i].getTypeName().equals("WIFI")
              && info[i].isConnected())
            return true;
        }
      }
    }

    return false;
  }
票数 1
EN

Stack Overflow用户

发布于 2014-03-25 14:19:09

对我最有效的方法是:

Menifest:

代码语言:javascript
复制
<receiver android:name="com.AEDesign.communication.WifiReceiver" >
        <intent-filter android:priority="100">
            <action android:name="android.net.wifi.STATE_CHANGE" />
        </intent-filter>
    </receiver>

类:

代码语言:javascript
复制
 public class WifiReceiver extends BroadcastReceiver{

        @Override
        public void onReceive(Context context, Intent intent) {

            NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
            if(info!=null){

                if(info.isConnected()){
                                    //Do your work. 

                                    //To check the Network Name or other info:
                        WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
                    WifiInfo wifiInfo = wifiManager.getConnectionInfo();
                        String ssid = wifiInfo.getSSID();

                }
            }

权限:

代码语言:javascript
复制
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7564755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档