Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/05/2014, 00:55
SolisUNMSM
 
Fecha de Ingreso: enero-2011
Ubicación: lima-peru
Mensajes: 80
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Detectar conexion a internet y enviar a una activity

Creo haber entendido,

mmm.. osea, claro android te dice si estas conectado a una RED , pero no te dice si hay trafico mas alla de esa red, o bueno a una IP o dominio especifico.

si es asi, lo mas simple es pensar en un hacer ping o resolver el nombre, y para comprobarlo hacer un simple GET, para saber si puedes llegar a destino,

yo por ejemplo, usando httpclient, te puedes ayudar de los codigos de respuesta del protocola TCP, 200 500 404 etc, un time out o no conexion "con el ip buscado" .

buscando con google: android developer ping , encontre :

//para hacer ping y ver el codigo
Código Java:
Ver original
  1. HttpClient client = new DefaultHttpClient();
  2.         client.getConnectionManager().getSchemeRegistry().register(getMockedScheme());
  3.  
  4.         URI website = new URI("https://server.com:8443/XoW");
  5.         HttpGet request = new HttpGet();
  6.         request.setURI(website);
  7.         HttpResponse response = client.execute(request);
  8.         response.getStatusLine().getStatusCode();

FUENTE:
http://stackoverflow.com/questions/1...tp-get-request


Código Java:
Ver original
  1. executeCmd("ping -c 1 -w 1 google.com", false);
  2.  
  3. public static String executeCmd(String cmd, boolean sudo){
  4.     try {
  5.  
  6.         Process p;
  7.         if(!sudo)
  8.             p= Runtime.getRuntime().exec(cmd);
  9.         else{
  10.             p= Runtime.getRuntime().exec(new String[]{"su", "-c", cmd});
  11.         }
  12.         BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
  13.  
  14.         String s;
  15.         String res = "";
  16.         while ((s = stdInput.readLine()) != null) {
  17.             res += s + "\n";
  18.         }
  19.         p.destroy();
  20.         return res;
  21.     } catch (Exception e) {
  22.         e.printStackTrace();
  23.     }
  24.     return "";
  25.  
  26. }

FUENTE: http://stackoverflow.com/questions/3...m-java-android


suerte.