0

Phone A has mobile data ON and is sharing internet via Wi-Fi hotspot to Phone B. If Mobile Data is TURNED OFF in phone A, no connectivity change is received @PhoneB. How can I get this change in Phone B when mobile data is turned ON/OFF in Phone A? Phone B is Android phone.

user1517153
  • 336
  • 2
  • 10
  • If internet is working or not to check in B phone you have to I ping a sever. https://stackoverflow.com/questions/9570237/android-check-internet-connection – rajahsekar Mar 27 '19 at 12:09
  • @rajahsekar I don't want to recursively check for internet. If I get any broadcast that something has changed, I can use your solution. – user1517153 Mar 27 '19 at 12:13
  • There is a broadcast for only connectivity change. To check internet you have to ping some server. – rajahsekar Mar 27 '19 at 12:49

1 Answers1

1

Yes there is. Simply register BroadcastReceiver for connectivity changes:

 @Override
public void register(Context context) {
      receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (isOnline()) {
                if (listener != null) {
                    listener.onConnected();
                }
                hideNoConnectionError();
            } else {
                showNoConnectionError();
            }
        }
    };
    final IntentFilter intentFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
    context.registerReceiver(receiver, intentFilter);
}

and on change event check whatever connectivity change there was

Antonis Radz
  • 3,036
  • 1
  • 16
  • 34
  • Receiver isn't called when mobile data is turned ON/OFF in Phone A. Reason: Wi-fi connection is intact, only internet access is not there. – user1517153 Mar 27 '19 at 12:22