Я пытаюсь получить тот момент, когда пользователь подключается к сети, тогда я подумал, что BroadcastReceiver - хороший подход... То, что я хотел бы сделать, - это когда пользователь подключается к сети, знаю, эта сеть имеет подключение к Интернету.
  Главное знать, требуется ли WiFi для Browse Log in Пример: Handling Network Sign-On документация
Что я пробовал до сих пор?
Я изменил свой BroadcastReceiver на этот
if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
NetworkInfo networkInfo = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
if (networkInfo != null && networkInfo.getDetailedState() == NetworkInfo.DetailedState.CONNECTED) {
    Log.d("Network", "Internet YAY");
} else if (networkInfo != null && networkInfo.getDetailedState() == NetworkInfo.DetailedState.DISCONNECTED) {
    if (isNetworkOnline()) {
        Log.d(TAG, String.valueOf(tikis));
        NetTask TeInternet = new NetTask();
        TeInternet.execute("https://www.google.com");
    }
}
Проблема заключается в том, что когда я пытаюсь подключиться к WiFi без Internet Connection, это будет следующим:
D/Network﹕ Internet YAY
D/Network﹕ Internet YAY
D/Network﹕ Internet YAY
D/RequiresLoginBroadcast﹕ 1 //this occurs sometimes
Я изменил Inner Class на эту запись с помощью Handling Network Sign-On документации
 doInBackground():
protected Boolean doInBackground(String...params) {
boolean internetAccessExists = false;
String urlToBeAccessed = params[0];
final int TIMEOUT_VALUE_IN_MILLISECONDS = 15000;
URL url;
HttpURLConnection urlConnection = null;
try {
    url = new URL(urlToBeAccessed);
    urlConnection = (HttpURLConnection) url.openConnection();
    //set the respective timeouts for the connection
    urlConnection.setConnectTimeout(TIMEOUT_VALUE_IN_MILLISECONDS);
    urlConnection.setReadTimeout(TIMEOUT_VALUE_IN_MILLISECONDS);
    //the redirect check is valid only after the response headers have been received
    //this is triggered by the getInputStream() method
    InputStream in = new BufferedInputStream(urlConnection.getInputStream());
    if (!url.getHost().equals(urlConnection.getURL().getHost())) {
        internetAccessExists = true;
    }
}
//any sort of exception is considered as a redirect.
//more specific exceptions such as SocketTimeOutException and IOException can be handled as well
catch (Exception e) {
    Log.d(TAG, e.toString());
} finally {
    Log.d(TAG, "Finally");
    urlConnection.disconnect();
}
return internetAccessExists;
Что я искал до сих пор?
- Как определить, установлено ли соединение WIFI в Android?
- Android WIFI Как обнаружить, когда доступно конкретное соединение WIFI
- BroadcastReceiver не работает (обнаруживает, подключен ли Wi-Fi)
И еще... но, к сожалению, я не нашел для меня правильного ответа.
TL; DR
То, что я пытаюсь сделать, это получить точное событие, которое пользователи подключают к сети, а затем получить хороший метод для обнаружения, могу ли я сделать ping Google или проверить, есть ли соединение с Интернетом (ТОЛЬКО С WIFI, ПОДКЛЮЧЕНИЕ 3G НЕ РАЗРЕШАЕТСЯ), потому что код, который я использую в данный момент, иногда не работает...
Я думаю, что это хороший метод, чтобы узнать, есть ли Internet Connection, поскольку вещь, которую я хочу знать, определяет, требуется ли Wifi для входа в браузер.
Мы почти закончили... Но я не понимаю, почему вступает в BroadcastReceiver 4 раза или даже 5.... и иногда говорит, что там Internet Connection, когда нет...

