2011-11-02 23 views

Respuesta

7

Adjunto a continuación algunas buenas funciones de red que he estado usando en todas mis aplicaciones, ¡todo funciona como un encanto! y para el sondeo ubicación, sin duda ->https://github.com/commonsguy/cwac-locpoll

esperanza esto ayuda ...

public static boolean checkInternetConnection(Context context) { 

    ConnectivityManager conMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 

    // ARE WE CONNECTED TO THE NET? 
    if (conMgr.getActiveNetworkInfo() != null 
      && conMgr.getActiveNetworkInfo().isAvailable() 
      && conMgr.getActiveNetworkInfo().isConnected()) { 
     return true; 
    } else { 
     Log.w(TAG, "Internet Connection NOT Present"); 
     return false; 
    } 
} 
    public static boolean isConnAvailAndNotRoaming(Context context) { 

    ConnectivityManager conMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 

    if (conMgr.getActiveNetworkInfo() != null 
      && conMgr.getActiveNetworkInfo().isAvailable() 
      && conMgr.getActiveNetworkInfo().isConnected()) { 

     if(!conMgr.getActiveNetworkInfo().isRoaming()) 
      return true; 
     else 
      return false; 
    } else { 
     Log.w(TAG, "Internet Connection NOT Present"); 
     return false; 
    } 
} 
    public static boolean isRoaming(Context context) { 

    ConnectivityManager conMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 

    return (conMgr.getActiveNetworkInfo()!=null && conMgr.getActiveNetworkInfo().isRoaming()); 
} 
0

es el proveedor en la lista devuelta por getProviders(true); así? ¿Tal vez ese dispositivo cree que el proveedor de ubicación de red siempre debe estar habilitado para proporcionar un PASSIVE_PROVIDER? Parece roto para mí. ¿En qué dispositivos de Samsung ves este comportamiento?

3

También puede tratar de esta manera:

public boolean isDataConnectionAvailable(Context context){ 
     ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo info = connectivityManager.getActiveNetworkInfo(); 
     if(info == null) 
      return false; 

     return connectivityManager.getActiveNetworkInfo().isConnected(); 
} 

public boolean isGpsEnabled(LocationManager manager){ 
     if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { 
      return false; 
     } 
     return true; 
} 

public boolean isLocationByNetworkEnabled(LocationManager manager){ 
     if (!manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) { 
      return false; 
     } 
     return true; 
} 
Cuestiones relacionadas