NetworkInformationを使用してネットワークを判断して傍受する
5929 ワード
README.md
外部参照元のドキュメント
プログラム開発では,一般的にネットワークインタラクションを行うが,この場合,ネットワーク接続の情報判断や状態の傍受が重要である.次はコードを直接与えて、コードを通じてどのようにネットワークの状態を判断して傍受するかを簡単に理解します.
IsConnectedToInternet.cs
外部参照元のドキュメント
NetworkConnectivityLevel.cs
外部参照元のドキュメント
NetworkStatusChanged.cs
外部参照元のドキュメント
外部参照元のドキュメント
プログラム開発では,一般的にネットワークインタラクションを行うが,この場合,ネットワーク接続の情報判断や状態の傍受が重要である.次はコードを直接与えて、コードを通じてどのようにネットワークの状態を判断して傍受するかを簡単に理解します.
IsConnectedToInternet.cs
外部参照元のドキュメント
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//
private bool IsConnectedToInternet()
{
bool connected = false;
ConnectionProfile cp = NetworkInformation.GetInternetConnectionProfile();
if (cp != null)
{
NetworkConnectivityLevel cl = cp.GetNetworkConnectivityLevel();
connected = cl == NetworkConnectivityLevel.InternetAccess;
}
return connected;
}
NetworkConnectivityLevel.cs
外部参照元のドキュメント
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//NetworkInformation static , static , ,
//GetInternetConnectionProfile , , NetworkConnectivityLevel 。
//NetworkConnectivityLevel 。
// :
// 。
[Version(100794368)]
public enum NetworkConnectivityLevel
{
// :
// 。
None = 0,
//
// :
// 。
LocalAccess = 1,
//
// :
// internet 。
ConstrainedInternetAccess = 2,
//
// :
// internet 。
InternetAccess = 3,
}
NetworkStatusChanged.cs
外部参照元のドキュメント
1
2
3
4
5
6
7
8
9
10
11
12
// , , 。 NetworkStatusChanged , ,
NetworkInformation.NetworkStatusChanged += (object sener) =>
{
if (!IsConnectedToInternet())
{
//
}
else
{
//
}
};