2014-10-27 10 views
9

Mam problem z dostaniem ConnectivityManager:Problem pobierania ConnectivityManager w urządzeniu z multi sim

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

Używam kontekst aplikacji i otrzymuję ten błąd:

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) 

Widziałeś ten przypadek? Czy istnieje sposób na rozwiązanie tego problemu?

Dzięki, Diego.

+0

może być to kontekst jest null Proszę zaznaczyć to –

+0

również sprawdzić oczywistego pozwolenie –

+0

Wołam context.getApplicationContext(), to mu st nie może być puste. tam jest. –

Odpowiedz

0

Usługa łączności ma wartość zerową.

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

Sprawdź, czy usługa łączności jest uruchomiona na Twoim urządzeniu.

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

jeśli stoją takiego problemu IconnectivityManager, to może być coraz null kontekstowe, w pewnym momencie lub w niektórych przypadkach., Ponieważ można to robić w usłudze gdzie kontekst może być null zatem można zrobić jedną rzecz, takich jak:

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

coś takiego >>

Powiązane problemy