2013-02-26 3 views
1

만약 우리가 이미 일부 와이파이 또는 와이파이 직접 또는 핫스팟에 연결되어 있으면 안드로이드에 어떤 방법이 있는지 알아낼 수 있습니다.당신이 와이파이 핫스팟/와이파이/와이파이 직접 연결

예인 경우 어떻게 연락하나요? 나는 모든 3 (와이파이/핫스팟/와이파이 직접)을 찾아야하고 대답을 기반으로 내 응용 프로그램에서 뭔가를해야합니다.

답변

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

관련 문제