2015-11-06 55 views
3

我在android系统非常初学者,我写这个类检查网络连接:
如何在函数中使用上下文?

public class ConnectivityDetector { 
    public static boolean IS_INTERNET_AVAILABLE(Context context){ 
     ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     if (connectivity != null) 
     { 
      NetworkInfo[] info = connectivity.getAllNetworkInfo(); 
      if (info != null) 
       for (int i = 0; i < info.length; i++) 
        if (info[i].getState() == NetworkInfo.State.CONNECTED) 
        { 
         return true; 
        } 

     } 
     return false; 
    } 

} 


以及与此代码,我想调用类:

public class AlarmReciever extends BroadcastReceiver { 
    Context context; 
    @Override 
    public void onReceive(Context context, Intent intent) { 
if (ConnectivityDetector.IS_INTERNET_AVAILABLE(AlarmReciever.this)) { 
     //write my code 
} 

    } 
} 


但在此行中:

if (ConnectivityDetector.IS_INTERNET_AVAILABLE(AlarmReciever.this)) 


我得到这个错误:
enter image description here


我该如何解决呢?

回答

3

AlarmReciever不是上下文,所以你不能使用this。接收时您有参数Context context。你可以使用那个。

public class AlarmReciever extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
    if (ConnectivityDetector.IS_INTERNET_AVAILABLE(context)) { 
      //write my code 
+0

感谢我的朋友回答。 – user3671271

+0

12分钟后接受你的答案。 – user3671271

+0

不客气 – Blackbelt

相关问题