Checking internet connection with service on android -


i know when app open how checking if internet available or not in activity, requirement is, how can understand internet available when application closed ? services? how?

you might need use broadcast receiver. continuously receive updates in connectivity.(connected/disconnected)

example:

manifest:

permissions:

    <uses-permission android:name="android.permission.internet"/>     <uses-permission android:name="android.permission.access_network_state"/> 

register broadcast receiver:

<receiver android:name=".connectivitychangereceiver" >     <intent-filter>         <action android:name="android.net.conn.connectivity_change" />     </intent-filter> </receiver> 

create receiver class:

public class connectivitychangereceiver extends broadcastreceiver {       @override     public void onreceive(context context, intent intent) {          // explicitly specify service class handle intent.         componentname comp = new componentname(context.getpackagename(),                 yourservice.class.getname());         intent.putextra("isnetworkconnected",isconnected(context));         startservice(context, (intent.setcomponent(comp)));     }   public  boolean isconnected(context context) {            connectivitymanager connectivitymanager = ((connectivitymanager)context.getsystemservice(context.connectivity_service));            networkinfo networkinfo = connectivitymanager.getactivenetworkinfo();            return networkinfo != null && networkinfo.isavailable() && networkinfo.isconnected();    }  } 

your service class:

class yourservice extends intentservice{      @override     protected void onhandleintent(intent intent) {       bundle extras = intent.getextras();       boolean isnetworkconnected = extras.getboolean("isnetworkconnected");       // code     }  } 

Comments