0

我有一门课来控制连接。

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 解决了我的问题

4

0 回答 0