我有一门课来控制连接。
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 解决了我的问题