2014-10-27 6 views
9

ich ein Problem habe ConnectivityManager bekommen:Ausgabe ConnectivityManager in einem Gerät mit Multi-SIM-Abrufen

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

ich den Anwendungskontext verwenden, und ich bekomme diese Fehlermeldung:

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) 

Schon gesehen? dieses Problem? Gibt es eine Möglichkeit, es zu lösen?

Danke, Diego.

+0

dieser Zusammenhang null sein kann, ist bitte dies überprüfen –

+0

auch das Manifest Erlaubnis überprüfen –

+0

ich rufe context.getApplicationContext(), es mu st nicht null sein. ist da. –

Antwort

0

Konnektivität Service ist null.

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

Überprüfen Sie, ob der Connectivity Service auf Ihrem Gerät ausgeführt wird.

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

wenn Sie eine solche Ausgabe von IconnectivityManager konfrontiert sind, dann könnten Sie den Kontext null bekommen, an einem gewissen Punkt oder in einigen Fällen., Da Sie könnte dies in einem Dienst tun, wo Kontext somit null sein könnte Sie können eine Sache tun, wie:

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

so etwas wie diese >>

Verwandte Themen