2014-10-27 15 views
9

Tôi gặp một vấn đề nhận được ConnectivityManager:Issue lấy ConnectivityManager trong một thiết bị với đa sim

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

Tôi đang sử dụng bối cảnh ứng dụng, và tôi nhận được lỗi này:

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) 

Bạn đã nhìn thấy vấn đề này? Có cách nào để giải quyết nó?

Cảm ơn, Diego.

+0

có thể là bối cảnh này là null hãy kiểm tra này –

+0

cũng kiểm tra sự cho phép manifest –

+0

tôi kêu gọi context.getApplicationContext(), nó mu st không được null. có ở đó. –

Trả lời

0

Dịch vụ kết nối không có giá trị.

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

Vui lòng kiểm tra xem Dịch vụ kết nối có đang chạy trên thiết bị của bạn không.

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

nếu bạn đang phải đối mặt với vấn đề như vậy IconnectivityManager, sau đó bạn có thể nhận được null bối cảnh, tại một số điểm hoặc trong một số trường hợp., Vì bạn có thể làm điều này trong một dịch vụ mà bối cảnh có thể được null do đó , bạn có thể làm một việc như:

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

một cái gì đó như thế này >>

Các vấn đề liên quan