2013-02-26 2 views
1

Есть ли какой-либо способ в Android, мы можем понять, что если мы уже подключены к Wi-Fi или Wi-Fi Direct или Hotspot.Как узнать, подключены ли вы к Wifi Hotspot/Wifi/Wifi Direct

если да, то пожалуйста препятствуйте мне знать как? Мне нужно найти для всех 3 (wifi/hotspot/wifi direct) и на основе ответа сделать что-то в моем приложении.

ответ

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; 
} 
+0

Что такое MrDefines? – learner

+0

Не волнует, это определение типа подключения – yichouangle

+0

Спасибо, получилось :) – learner

Смежные вопросы