Tuesday 3 September 2013

Check network Connection status in Android

1.Create a Connection_Utils

public class Connection_Utils {

    private Context _context;

    public Connection_Utils(Context context){
        this._context = context;
    }

    /**
     * Checking for all possible internet connections
     * @return
     * **/
    public boolean isConnectingToInternet(){
        ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
          if (connectivity != null)
          {
              NetworkInfo[] info = connectivity.getAllNetworkInfo();
              if (info != null)
                  for (int i = 0; i < info.length; i++)
                      if (info[i].getState() == NetworkInfo.State.CONNECTED)
                      {
                          return true;
                      }

          }
          return false;
    }
}


2. Use this in your MainActivity

 public class MainActivity extends Activity {
    // Connection detector class
        Connection_Utils cd;
        // flag for Internet connection status
        Boolean isInternetPresent = false;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
      
        cd = new Connection_Utils(getApplicationContext());
     // Check if Internet present
        isInternetPresent = cd.isConnectingToInternet();
        if (!isInternetPresent) {
            System.out.println("Connection Error");
            // Internet Connection is not present
            // stop processing code by return
            return;
        }
    }

}


3.Add permission in manifest file

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.connectionstatus_sample"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />
   <!-- Network State Permissions -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- Access Location -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
       <!-- Internet Permissions -->
    <uses-permission android:name="android.permission.INTERNET" />
   
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
   
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>




No comments:

Post a Comment