1

Androidで、すでにWifiまたはWifi Directまたはホットスポットに接続されているかどうかを判断できる方法はありますか.

はいの場合、方法を教えてください。3つすべて(wifi / hotspot / wifi direct)を見つけて、その答えに基づいてアプリケーションで何かをする必要があります。

4

2 に答える 2

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;
}
于 2013-02-26T14:38:33.357 に答える
0

WifiManager と ConnectivityManager が必要になると思います。参考文献を見て

http://developer.android.com/reference/android/net/wifi/WifiManager.html

http://developer.android.com/reference/android/net/ConnectivityManager.html

于 2013-02-26T14:39:00.610 に答える