如何知道您是否连接到Wifi热点/ Wifi / Wifi Direct

时间:2013-02-26 14:31:53

标签: android wifi wifi-direct

如果我们已经连接到某些Wifi或Wifi Direct或Hotspot,我们可以在Android中找到任何方法。

如果是,请告诉我怎么做?我需要找到所有3(wifi / hotspot / wifi直接)并根据答案在我的应用程序中做一些事情。

2 个答案:

答案 0 :(得分:0)

这是一个代码快照希望它适合你!

public static int getNetworkType(Context context) {
    ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

    if (connectivity != null) { 
        // 获取网络连接管理的对象
        NetworkInfo info = connectivity.getActiveNetworkInfo();

        if (info != null && info.isConnected()) {
            // 判断当前网络是否已经连接
            if (info.getState() == NetworkInfo.State.CONNECTED) {
                if (info.getTypeName().equalsIgnoreCase("WIFI")) {
                    return MrDefines.NETTYPE_WIFI;
                } else {
                    Cursor mCursor = context.getContentResolver().query(
                            Uri.parse("content://telephony/carriers"), 
                            new String[] {"name"}, "current=1", 
                            null, null);

                    if(mCursor != null && mCursor.moveToFirst()){
                        String name = mCursor.getString(0);
                        mCursor.close();

                        if(name.equalsIgnoreCase("cmnet"))
                            return MrDefines.NETTYPE_CMNET;
                        else if(name.equalsIgnoreCase("cmwap"))
                            return MrDefines.NETTYPE_CMWAP;
                    }else if (mCursor != null) {
                        mCursor.close();
                    }

                }
            }
        }
    }

    return MrDefines.NETTYPE_UNKNOW;
}

答案 1 :(得分:0)