title: How to detect when the user is connected to public wifi BUT not approved wifi term of use
body: <p>My app needs to work on workplaces/airports that have a free public wifi network.</p>
  
  <p>I would like to inform the user when he need to approve the wifi term of use through a web browser.</p>
  
  <p>I tried to extract information, But didn't find any attribute / info to isolate this case </p>
  
  <pre><code>public static void haveNetworkConnection(Context mContext) {
      ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
      NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
  
  
      if (activeNetwork != null) { // connected to the internet
          if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
              // connected to wifi
              Toast.makeText(mContext, activeNetwork.getTypeName(), Toast.LENGTH_SHORT).show();
              printWifiInformation(activeNetwork);
          } else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
              // connected to the mobile provider's data plan
              Toast.makeText(mContext, activeNetwork.getTypeName(), Toast.LENGTH_SHORT).show();
          }
      } else {
          Toast.makeText(mContext, "Not connected", Toast.LENGTH_SHORT).show();
      }
  }
  
  public static void printWifiInformation(NetworkInfo activeNetwork){
  
      System.out.println("************************************************************************************");
      System.out.println("1 . describeContents         " + activeNetwork.describeContents());
      System.out.println("2 . getDetailedState         " + activeNetwork.getDetailedState());
      System.out.println("3 . getExtraInfo             " + activeNetwork.getExtraInfo());
      System.out.println("4 . getReason                " + activeNetwork.getReason());
      System.out.println("5 . getState                 " + activeNetwork.getState());
      System.out.println("6 . getSubtype               " + activeNetwork.getSubtype());
      System.out.println("7 . getSubtypeName           " + activeNetwork.getSubtypeName());
      System.out.println("8 . getSubtypeName           " + activeNetwork.getSubtypeName());
      System.out.println("9 . getType                  " + activeNetwork.getType());
      System.out.println("10. getTypeName              " + activeNetwork.getTypeName());
      System.out.println("11. isAvailable              " + activeNetwork.isAvailable());
      System.out.println("12. isConnected              " + activeNetwork.isConnected());
      System.out.println("13. isConnectedOrConnecting  " + activeNetwork.isConnectedOrConnecting());
      System.out.println("14. isFailover               " + activeNetwork.isFailover());
      System.out.println("15. isRoaming                " + activeNetwork.isRoaming());
      System.out.println("************************************************************************************");
  
  }
  </code></pre>
  
  <p>I got the same result when I checked before and after clicking the web browser.
  Please advise,
  Thanks,
  Luther</p>