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
Post a Comment