2015-09-29 11 views

Antwort

21

In UWP können Sie die Netzwerkkonnektivität mithilfe der Eigenschaften IsWlanConnectionProfile oder IsWwanConnectionProfile überprüfen.

wäre ein Beispiel:

var temp = Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile(); 

if (temp.IsWlanConnectionProfile) 
{ 
    // its wireless 
}else if (temp.IsWwanConnectionProfile) 
{ 
    // its mobile 
} 

Ich hoffe, das hilft.

+2

Sie sollten auch überprüfen, ob 'temp'' null' ist. – Nick

9

Andere als nur die Konnektivität (die andere erwähnt haben) können Sie auch besser dosierte Verbindungen handhaben.

How to manage metered network cost constraints

switch (connectionCost.NetworkCostType) 
{ 
    case NetworkCostType.Unrestricted: 
     // 
     break; 
    case NetworkCostType.Fixed: 
     // 
     break; 
    case NetworkCostType.Variable: 
     // 
     break; 
    case NetworkCostType.Unknown: 
     // 
     break; 
    default: 
     // 
     break; 
} 

die networking demo at GitHub See.

if (connectionCost.Roaming || connectionCost.OverDataLimit) 
{ 
    Cost = NetworkCost.OptIn; 
    Reason = connectionCost.Roaming 
     ? "Connection is roaming; using the connection may result in additional charge." 
     : "Connection has exceeded the usage cap limit."; 
} 
else if (connectionCost.NetworkCostType == NetworkCostType.Fixed 
    || connectionCost.NetworkCostType == NetworkCostType.Variable) 
{ 
    Cost = NetworkCost.Conservative; 
    Reason = connectionCost.NetworkCostType == NetworkCostType.Fixed 
     ? "Connection has limited allowed usage." 
     : "Connection is charged based on usage. "; 
} 
else 
{ 
    Cost = NetworkCost.Normal; 
    Reason = connectionCost.NetworkCostType == NetworkCostType.Unknown 
     ? "Connection is unknown" 
     : "Connection cost is unrestricted"; 
}