У меня есть приложение, которое пытается стать хорошим самаритян, в основном, когда запускаются какие-либо службы, которые должны взаимодействовать с сетью. Я проверяю, чтобы увидеть, если устройство имеет подключение:Знайте, когда сетевое подключение возвращается
hasConnectivity Метод
private boolean hasConnectivity() {
NetworkInfo info = mConnectivity.getActiveNetworkInfo();
boolean connected = false;
int netType = -1;
int netSubtype = -1;
if (info == null) {
Log.w(sTag, "network info is null");
notifyUser(MyIntent.ACTION_VIEW_ALL, "There is no network connectivity.", false);
} else if (!mConnectivity.getBackgroundDataSetting()) {
Log.w(sTag, "background data setting is not enabled");
notifyUser(MyIntent.ACTION_VIEW_ALL, "background data setting is disabled", false);
} else {
netType = info.getType();
netSubtype = info.getSubtype();
if (netType == ConnectivityManager.TYPE_WIFI) {
connected = info.isConnected();
} else if (netType == ConnectivityManager.TYPE_MOBILE
&& netSubtype == TelephonyManager.NETWORK_TYPE_UMTS
&& !mTelephonyManager.isNetworkRoaming()
) {
connected = info.isConnected();
} else if (info.isRoaming()) {
notifyUser(MyIntent.ACTION_VIEW_ALL, "Currently Roaming skipping check.", false);
} else if (info.isAvailable()) {
connected = info.isConnected();
} else {
notifyUser(MyIntent.ACTION_VIEW_ALL, "..There is no network connectivity.", false);
}
}
return connected;
}
Когда этот метод возвращает ложь, я знаю, что у меня нет связи, потому что пользователь находится на телефон или 3g и wifi недоступно
Каков наилучший способ узнать, когда доступно подключение, не вытягивая сетевую статистику с помощью таймера?
Есть ли намерение, которое я могу наблюдать с помощью широковещательного приемника, который объявит об изменении с возможностью подключения?
Спасибо за любую помощь, я продолжу поиск документов, чтобы узнать, что делать дальше.
Спасибо, должно быть, пропустили ConnectivityManager.CONNECTIVITY_ACTION, когда я просматривал документы. Именно это я и надеялся. – Double
Хорошо, что мои часы поиска и проклятия помогли кому-то, кроме меня. – iarwain01