如何使(无互联网连接)所有活动都可以访问 broadCastReceiver

How to make (No Internet Connection) broadCastReceiver accessible to all the activities

我正在使用 ConnectivityManager 检查 Internet 连接,问题是,启用 Internet 后我无法重新启动 activity,而且我无法显示所有错误消息(无 Internet 连接) activities.Below 是我的代码

  ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
    if(!(networkInfo!=null && networkInfo.isConnected())){
      Intent i = new Intent(this,NoInternetConnection.class);
      startActivity(i);
    }

对于 NoInternetConnection class,我的编码如下

 public class NoInternetConnection extends AppCompatActivity {
private static ImageView internetStatus;
private static TextView noConnectionText;
private static Button tryAgain;
@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    final ActionBar actionBar =getSupportActionBar();
    actionBar.hide();
    setContentView(R.layout.activity_no_internet_connection);
    internetStatus = (ImageView) findViewById(R.id.internetStatus);
    noConnectionText=(TextView)findViewById(R.id.noConnectionText);
    tryAgain=(Button)findViewById(R.id.tryAgain);
    tryAgain.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //checking internet connection
            ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
            if (!(networkInfo != null && networkInfo.isConnected())) 
            {
              onRestart();
            }
            else {
                finish();
            }
        }
    });
    internetStatus.setImageResource(R.drawable.img);
    noConnectionText.setText("No Internet Connection");
 }
}

创建这个class

public class Utils{

public static void startActivity(Context context,Class clas,Bundle extras)
    {
        ConnectivityManager connectivityManager = 
        (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        if(!(networkInfo!=null && networkInfo.isConnected())){
            Intent i = new Intent(context,NoInternetConnection.class);
            context.startActivity(i);
        }else {
            Intent i = new Intent(context,clas);
            i.putExtras(extras);
            context.startActivity(i);
        }
    }
}

并且每当您需要启动 activity 而不是调用

Intent i = new Intent(this,YourActivity.class);
startActivity(i);

致电Utils.startActivity(context,YourActivity.class,new Bundle());