2013-11-11 5 views
0

как проверить, подключена ли к сети или не андроид мобильного телефона .. (сеть означает не подключение к Интернету или подключения к данным его простая мобильная сети, как Airtel, CELLONE, VODAFONE и т.д ..)Проверка подключения мобильной сети в андроиде

Я попытался с ConnectivityManager.TYPE_MOBILE и ConnectivityManager.TYPE_WIFI, но они используются для проверки подключения данных ... и не сетевых подключений

+0

http://stackoverflow.com/questions/10009804/регистрация сетевого соединения-андроида –

ответ

0

вы можете использовать TelephonyManager's getSimOperator()

0
public static boolean isNetworkAvailable(Activity activity) { 
    ConnectivityManager connectivity = (ConnectivityManager) activity 
      .getSystemService(Context.CONNECTIVITY_SERVICE); 
    if (connectivity == null) 
    { 
     return false; 
    } else { 
     NetworkInfo[] info = connectivity.getAllNetworkInfo(); 
     if (info != null) { 
      for (int i = 0; i < info.length; i++) { 
       if (info[i].getState() == NetworkInfo.State.CONNECTED) 
       { 
        return true; 
       } 
      } 
     } 
    } 
    return false; 
} 

вы должны добавить эту разрешение на файл манифеста

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
0

Согласно Android Docs

getSimOperator()

Возвращает MCC + MNC (мобильный код страны + код мобильной сети), предоставившего SIM ,

например. Получить ID оператора (MNC + MCC) из SIM-карты

public String getOperator() 
     { 
      TelephonyManager manager = (TelephonyManager) mGap.getSystemService(Context.TELEPHONY_SERVICE); 
      String opeartorName = manager.getSimOperator(); 
      return opeartorName; 
     } 
0

попробовать это:

public class ConnectionDetector { 
    private static Context _context; 

    public ConnectionDetector(Context context){ 
     this._context = context; 
    } 

    public static boolean isConnectingToInternet(){ boolean haveConnectedWifi = false; 
     boolean haveConnectedMobile = false; 

     ConnectivityManager cm = (ConnectivityManager)_context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo[] netInfo = cm.getAllNetworkInfo(); 
     for (NetworkInfo ni : netInfo) { 
      if (ni.getTypeName().equalsIgnoreCase("WIFI")) 
       if (ni.isConnected()) 
        haveConnectedWifi = true; 
      if (ni.getTypeName().equalsIgnoreCase("MOBILE")) 
       if (ni.isConnected()) 
        haveConnectedMobile = true; 
     } 
     return haveConnectedWifi || haveConnectedMobile;} 

} 

добавить эти разрешения в файле манифеста

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> 
Смежные вопросы