I used to get the data usage and divide the second ,but the result is always 0.
private async Task GetSpeed()
{
ConnectionProfile internetConnectionProfile = NetworkInformation.GetInternetConnectionProfile();
var currentDate = DateTime.Now;
var startDate = DateTime.Now.AddSeconds(-2);
NetworkUsageStates NetworkUsageStates = new NetworkUsageStates();
NetworkUsageStates.Roaming = TriStates.No;
NetworkUsageStates.Shared = TriStates.No;
// dierctly using NetworkUsageStates object without setting roaming and shared property will get null result.
//var networkUsage = await internetConnectionProfile.GetNetworkUsageAsync(utcTimeA, utcTimeB, DataUsageGranularity.Total, new NetworkUsageStates()) ;
var networkUsage = await internetConnectionProfile.GetNetworkUsageAsync(startDate, currentDate, DataUsageGranularity.Total, NetworkUsageStates);
foreach (var usage in networkUsage)
{
var received = usage.BytesReceived / 2 / 1000000;
var sent = usage.BytesSent / 2 / 1000000;
tb.Text = "Down:" + received + "Mb " + "Up: " + sent + "Mb";
}
}
So how to get the real-time network speed?