Я использую ConnectivityManager для проверки интернет-соединения, проблема в том, что я не могу перезапустить активность, когда интернет включен, и я не могу показать сообщение об ошибке (нет интернет-соединения) из всех действий. Ниже мое код
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 я кодировал, как показано ниже
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");
}
}