NetworkMonitor
Returns a new NetworkMonitor for the given Context
In order to work correctly, this requires:
minSdk >= 23
declaring the ACCESS_NETWORK_STATE permission in your Manifest
If one of these conditions is not satisfied, the returned NetworkMonitor will behave as if the device were always online.