Lorenzo Lorenzo - 7 days ago 6
Android Question

Detecting if android is connected to internet

I have a big problem: I want control if 3G or WiFi are activated.
This is my code:

//controllo se è accesa la connessione
ConnectivityManager cm =
(ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork.isConnectedOrConnecting();
//controllo se sono connesso
if(isConnected==false){
final AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("Attenzione!");
builder.setMessage("L'applicazione senza la connessione ad internet non può funzionare. La preghiamo di attivarla.");
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setPositiveButton("OK", new OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

}
});
builder.show();}


It's into the oncreate. When I open the activity I have a force close. The cause is this:

Caused by: java.lang.NullPointerException

I don't understand where is the problem :(

Answer
ConnectivityManager cm = (ConnectivityManager)getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = false;
if(activeNetwork!=null)
    isConnected = true;
activeNetwork.isConnectedOrConnecting();
if(!isConnected){
   final AlertDialog.Builder builder=new AlertDialog.Builder(YourActivity.this);
   builder.setTitle("Attenzione!");
   builder.setMessage("L'applicazione senza la connessione ad internet non può funzionare. La preghiamo di attivarla.");
   builder.setIcon(android.R.drawable.ic_dialog_alert);
   builder.setPositiveButton("OK", new OnClickListener() {

   public void onClick(DialogInterface dialog, int which) {
   }
   });
   builder.show();
}