我有一门课来控制连接。
BroadcastReceiver启动android时我有一个自动启动器
BroadcastReceiver调用一个service。并service调用Connectivity类
boolean state=Connectivity.isConnected(this);
我在课堂上遇到Context错误Connectivity
当我getApplicationContext();用来获取Context. 我收到Null pointer错误,因为我没有任何活动在工作
我只有services,没有activity。应用程序需要在后台工作
我该如何解决这个问题谢谢
public class Connectivity {
/**
* Get the network info
* @param context
* @return
*/
public static NetworkInfo getNetworkInfo(Context context){
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo();
}
/**
* Check if there is any connectivity
* @param context
* @return
*/
public static boolean isConnected(Context context){
NetworkInfo info = Connectivity.getNetworkInfo(context);
return (info != null && info.isConnected());
}
编辑:使用 BroadcastReceiver Context 解决了我的问题