2014-10-27 15 views
9

Sto avendo un problema ottenere ConnectivityManager:Problema recupero ConnectivityManager in un dispositivo con multi sim

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

Sto usando il contesto dell'applicazione, e ottengo questo errore:

Caused by: java.lang.NullPointerException: missing IConnectivityManager 
at com.android.internal.util.Preconditions.checkNotNull(Preconditions.java:52) 
at android.net.ConnectivityManager.<init>(ConnectivityManager.java:1045) 
at android.net.MultiSimConnectivityManager.<init>(MultiSimConnectivityManager.java:86) 
at android.app.ContextImpl$12.createService(ContextImpl.java:463) 
at android.app.ContextImpl$ServiceFetcher.getService(ContextImpl.java:346) 
at android.app.ContextImpl.getSystemService(ContextImpl.java:2036) 
at android.content.ContextWrapper.getSystemService(ContextWrapper.java:551) 

Hai visto questa edizione? C'è un modo per risolverlo?

Grazie, Diego.

+0

può essere questo contesto è nullo prega di consultare questo –

+0

di controllare anche il permesso manifesta –

+0

sto chiamando context.getApplicationContext(), è mu st non essere nullo. è lì. –

risposta

0

Il servizio di connettività è nullo.

public ConnectivityManager(Context context, IConnectivityManager service) { 
    mContext = checkNotNull(context, "missing context"); 
    mService = checkNotNull(service, "missing IConnectivityManager"); 
    sInstance = this; 
} 

Verificare se il servizio di connettività è in esecuzione sul dispositivo.

adb shell service list | grep connectivity 
13  connectivity_metrics_logger: [android.net.IConnectivityMetricsLogger] 
64  connectivity: [android.net.IConnectivityManager] 
0

se si trovano ad affrontare tale questione della IconnectivityManager, allora si potrebbe essere sempre il nulla contesto, ad un certo punto o in alcuni casi., Dal momento che si potrebbe fare questo in un servizio in cui contesto potrebbe essere nullo in tal modo , si può fare una cosa come ad esempio:

if (context != null) { 
     ConnectivityManager cm = 
       (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 

qualcosa di simile >>