How to trigger BroadcastReceiver when I turn on/off Mobile Cellular Data(Mobile Internet)

后端 未结 2 1068
温柔的废话
温柔的废话 2021-01-05 17:26

I want to know how to trigger BroadcastReceiver if I turn on/off mobile cellular data. I already registered BroadcastReceiver and i

2条回答
  •  [愿得一人]
    2021-01-05 17:59

    You need to specify appropriate permissions and do the needful as mentioned below:

    Permissions in manifest:

    
    
    
    

    Receiver declaration in manifest:

            
            
                
            
        
    

    NetworkCheckReceiver class file:

    public class NetworkCheckReceiver extends BroadcastReceiver {
    
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
                Log.d("NetworkCheckReceiver", "NetworkCheckReceiver invoked...");
    
    
                boolean noConnectivity = intent.getBooleanExtra(
                        ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
    
                if (!noConnectivity) {
                    Log.d("NetworkCheckReceiver", "connected");
                }
                else
                {
                    Log.d("NetworkCheckReceiver", "disconnected");
                }
            }
        }
    
    }
    

    Note:

    Make sure you have working mobile cellular data connection. This receiver won't trigger if you don't have internet pack and you just switching on/off. You surely need to have working connection to test.

提交回复
热议问题