错误系统服务在oncreate之前不可用

时间:2016-10-19 14:11:41

标签: java android

我正在调用checkinternet连接方法。具有checkinternet方法的java类代码如下。

   public class PTs {

    private Context context;

    public PT(Context context) {
        this.context = context;
    }

    public Boolean checkinternet() {

        ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
        NetworkInfo activeinternet = connectivityManager.getActiveNetworkInfo();
        return activeinternet != null && activeinternet.isConnected();

    }

而我正在使用如下声明来获取其他活动中的互联网状态。

if (pt.checkinternet()){
//do some task
}

为什么会收到错误?有人可以提供帮助。

1 个答案:

答案 0 :(得分:0)

从不通过构造函数自己创建活动,服务或提供程序的实例。该活动未正确初始化,因此您无法在其上调用getSystemService()

解决此问题的选项包括:

  • 将此代码移动到现有活动中,该活动由框架正确启动,并且仅在该活动中使用该方法

  • extends AppCompatActivity移除PTcheckinternet()Context作为参数