2010-05-21 20 views
5

siguiente línea única no dará lugar a una excepción de NullPointer si estoy conectado a una WLAN:NullPointerException getSystemService

ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 

De lo contrario me siento un NullPointer-excepción al frente? ¿Cómo puedo arreglar esto? Quiero que mi servicio en segundo plano solo funcione, cuando esté conectado a wlan. Pero eso NullPointerException sólo mata a toda la aplicación ...

+0

¿Estás seguro de que es esta línea que lanza la excepción? Parece más probable que 'getSystemService()' 'volvería null' y luego un' NullPointerException' sería arrojado al intentar usar 'cm'. – Syntactic

+0

Sí, estoy exactamente seguro. Tenía la misma idea que tú. Pero revisé la línea dos veces. Y es exactamente este. – user283494

+0

Podría publicar el seguimiento de pila, tal vez? No estoy familiarizado con el funcionamiento de Android, pero en una JVM normal que la línea no puede lanzar una 'NullPointerException', si' Context.CONNECTIVITY_SERVICE' es lo que parece. El método 'getSystemService()' podría arrojar tal excepción, pero luego eso aparecería en el seguimiento de la pila. – Syntactic

Respuesta

2

Añadir al manifiesto la siguiente línea:

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

Ya lo hice. Aún no cambiará – user283494

-1
ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); 
NetworkInfo netInfo = cm.getActiveNetworkInfo(); 

if (netInfo != null && netInfo.getType() == 1) { 
// CONNECTION_WIFI = true; 
} 
0

Sí, estoy tarde, pero por si alguien todavía está buscando,

ConnectivityManager cm = (ConnectivityManager) this.getSystemService(CONNECTIVITY_SERVICE); 
NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); 

hay necesidad de Context en el argumento getSystemService().

+0

[La documentación] (http://developer.android.com/reference/android/content/Context.html#CONNECTIVITY_SERVICE) dice 'CONNECTIVITY_SERVICE' es un miembro estático de' Context'. Como lo omitiste, supongo que tienes una importación estática para eso. – Sam

Cuestiones relacionadas