J'ai une application qui essaie d'être un bon samaritain, essentiellement lorsque des services démarrent et doivent interagir avec le réseau. Je vérifie pour voir si l'appareil dispose d'une connectivité:Sachez quand la connectivité réseau est rétablie
hasConnectivity Méthode
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;
}
Lorsque cette méthode retourne false je sais que je n'ai pas de connexion parce que l'utilisateur est sur le téléphone ou 3g et le wifi n'est pas disponible
Quelle est la meilleure façon de savoir quand la connectivité est disponible sans sortir les statistiques du réseau avec une minuterie périodiquement?
Y at-il une action Intent que je peux observer avec un récepteur de diffusion qui annonce un changement avec la connectivité?
Merci pour toute aide, je vais continuer à chercher dans les documents pour savoir quoi faire ensuite.
Merci, vous devez avoir manqué ConnectivityManager.CONNECTIVITY_ACTION lorsque je parcourais les documents. Était exactement ce que j'espérais. – Double
Bon à savoir mes heures de recherche et de malédiction ont aidé quelqu'un en dehors de moi-même. – iarwain01