Вот как я это делаю, я создаю класс ... и затем использую следующий код.
public class InternetStatus {
private static InternetStatus instance = new InternetStatus();
static Context context;
ConnectivityManager connectivityManager;
NetworkInfo wifiInfo, mobileInfo;
boolean connected = false;
public static InternetStatus getInstance(Context ctx) {
context = ctx.getApplicationContext();
return instance;
}
public boolean isOnline() {
try {
connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
connected = networkInfo != null && networkInfo.isAvailable() &&
networkInfo.isConnected();
return connected;
} catch (Exception e) {
System.out.println("CheckConnectivity Exception: " + e.getMessage());
Log.v("connectivity", e.toString());
}
return connected;
}
}
А затем, чтобы использовать его ...
if (InternetStatus.getInstance(getApplicationContext()).isOnline()) {
Log.i(TAG, "User is online");
// proceed with your firebase auth code.
} else {
Log.e(TAG, "User does not have an internet connection");
//create a toast message, or however you want to handle this error.
}