Jak ustalić, czy połączenie internetowe jest dostępne w aplikacji sklepu Windows?Jak ustalić, czy połączenie internetowe jest dostępne?
Odpowiedz
Możesz użyć NetworkInformation
class, aby to wykryć; ten przykładowy kod dodaje procedurę obsługi zdarzenia, która jest wywoływana za każdym razem, gdy zmienia status połączenia;
NetworkInformation.NetworkStatusChanged +=
NetworkInformation_NetworkStatusChanged; // Listen to connectivity changes
static void NetworkInformation_NetworkStatusChanged(object sender)
{
ConnectionProfile profile =
NetworkInformation.GetInternetConnectionProfile();
if (profile.GetNetworkConnectivityLevel() >=
NetworkConnectivityLevel.InternetAccess)
{
// We have Internet, all is golden
}
}
Oczywiście, jeśli chcesz po prostu go wykryć raz zamiast coraz powiadomiony kiedy zmienia, można po prostu zrobić czek z góry bez słuchania przypadku zmian.
prostu napisał funkcje async to zrobić:
private void myPingCompletedCallback(object sender, PingCompletedEventArgs e)
{
if (e.Cancelled)
return;
if (e.Error != null)
return;
if (e.Reply.Status == IPStatus.Success)
{
//ok connected to internet, do something
}
}
private void checkInternet()
{
Ping myPing = new Ping();
myPing.PingCompleted += new PingCompletedEventHandler(myPingCompletedCallback);
byte[] buffer = new byte[32];
int timeout = 1000;
PingOptions options = new PingOptions(64, true);
try
{
myPing.SendAsync("google.com", timeout, buffer, options);
}
catch
{
}
}
Najgorsza odpowiedź, jaką widziałem w wielu czas koleś ... absolutnie wydajność zabójca ... –
Również kod wykorzystuje klasę Ping, która nie jest dostępna dla aplikacji Windows Store, o co chodzi. – Mog0
using Windows.Networking.Connectivity;
public static bool IsInternetConnected()
{
ConnectionProfile connections = NetworkInformation.GetInternetConnectionProfile();
bool internet = (connections != null) &&
(connections.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess);
return internet;
}
Zastanów się nad dodaniem kontekstu do kodu, aby wyjaśnić, dlaczego twoja odpowiedź odpowiada na pytanie OP. – mdewitt
- 1. sprawdź, czy połączenie internetowe jest dostępne z C#
- 2. Jak określić połączenie internetowe w kakao?
- 3. Sprawdź INTENT połączenie internetowe
- 4. Wyświetlenie alertu, gdy połączenie internetowe nie jest dostępne w aplikacji Android
- 5. sprawdź połączenie internetowe z phonegap
- 6. Jak sprawdzić, czy połączenie internetowe jest dostępne dla wielu stron w systemie Windows 8 Przechowuj aplikację HTML/JS?
- 7. OperationalError: połączenie MySQL nie jest dostępne
- 8. Jak okresowo sprawdzać połączenie internetowe w Phonegap?
- 9. Jak sprawdzić, czy istnieje połączenie internetowe z urządzeniem: cocos-2d
- 10. Jak ustalić, czy Kopiowanie lokalne jest konieczne?
- 11. Jakie platformy internetowe są dostępne dla CFML?
- 12. Czy jest dostępne repozytorium testu GIT?
- 13. Bezpośrednie połączenie internetowe w Androidzie Wear?
- 14. Android WIFI Jak wykryć, kiedy dostępne jest konkretne połączenie WIFI
- 15. Czy jest dostępne bezpłatne okno dialogowe "Dodaj połączenie" lub "Połączenie SQL"?
- 16. Sprawdź połączenie internetowe za pomocą iOS SDK
- 17. Wczytywanie URLSessionTask dużo wolniejsze niż połączenie internetowe
- 18. Jak ustalić, czy drzewo binarne jest kompletne?
- 19. Jak ustalić, czy obiekt jQuery jest odroczony?
- 20. Jak ustalić, czy powiązanie szyn jest przyspieszone?
- 21. Jak ustalić, czy jednostka doktrynalna jest trwała?
- 22. Jak ustalić, czy NSString jest pusty?
- 23. Jak ustalić, czy IType jest klasą abstrakcyjną?
- 24. Jak ustalić, czy tabela sql jest tymczasowa?
- 25. Jak ustalić, czy ParameterInfo jest typu ogólnego?
- 26. Jak ustalić, czy znak jest chiński znak
- 27. Jak ustalić, czy ścieżka jest podkatalogiem innej?
- 28. Jak ustalić, czy jest oczekiwany semafor wysyłkowy?
- 29. Jak ustalić, czy typ jest typem kolekcji?
- 30. Maven i * BARDZO SLOW * połączenie internetowe: jak przyspieszyć pobieranie?
doskonałe, dziękuję – gurehbgui
Należy również zauważyć można dostać trochę bardziej zaawansowany z tym w wykrywaniu stanów sieciowych: http://msdn.microsoft .com/en-us/library/windows/apps/hh700376 i ConstrainedInternetAccess wymienione tutaj, które mogą dawać 'pewien' poziom dostępu: http://msdn.microsoft.com/en-us/library/windows/apps/windows .networking.connectivity.networkconnectivitylevel –
profil może mieć wartość null, jeśli nie ma połączenia, więc należy to sprawdzić ... –