I want to check if device in connected or not in broadcastReceiver. below is my code :
public boolean isOnline(Context context) {
NetworkInfo info = (Network
I believe the way you can do this is,
Register a Broadcast Receiver with an IntentFilter of ConnectivityManger.Connectivity_Action
private BroadcastReceiver receiverDataChange;
private void registerData(){
try {
receiverDataChange = new bcr_ToggleData();
IntentFilter filterData = new IntentFilter();
filterData.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(receiverDataChange, filterData);
} catch (IllegalArgumentException e) {
e.printStackTrace();
}}
Then in your Broadcast receiver class
public class bcr_ToggleData extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
int state = telephonyManager.getDataState();
switch (state){
case TelephonyManager.DATA_DISCONNECTED: // off
Log.d("DavidJ", "DISCONNECTED");
break;
case TelephonyManager.DATA_CONNECTED: // on
Log.d("DavidJ", "CONNECTED");
break;
}
}
}
}
This fires off when you go into your settings and turn on/off mobile data.
Hope this helps! :)