UWP / C # Получить данные об использовании по типу сети и по приложению - PullRequest
0 голосов
/ 03 мая 2018

Я ищу способ проанализировать потребление данных из приложения UWP. Для этого мне нужно:

  • получите данные об использовании за NewTork (Wi-Fi, сотовая связь, роуминг, ...)
  • получить подробную информацию за установленное приложение

В Windows 10 мы можем легко найти эту информацию:

Но как получить ту же информацию в приложении?

Единственная близкая тема, о которой я говорю, это одна , но это не совсем то же самое ...

1 Ответ

0 голосов
/ 04 мая 2018

В UWP, мы можем получить сетевое использование от сетевого подключения, используя класс ConnectionProfile , который предоставляет информацию о состоянии подключения и статистику подключения.

Для вашего использования данных , вы можете попробовать следующий код,

try
{
    var ConnectionProfiles = NetworkInformation.GetConnectionProfiles();
    if (ConnectionProfiles != null)
    {
        Debug.WriteLine(ConnectionProfiles.Count);
        foreach (var profile in ConnectionProfiles)
        {
            //Profile name
            var name = profile.ProfileName;

            NetworkUsageStates networkUsageStates = new NetworkUsageStates();
            networkUsageStates.Roaming = TriStates.DoNotCare;
            networkUsageStates.Shared = TriStates.DoNotCare;
            //get the data usage from the last 30 day
            DateTime startTime = DateTime.Now.AddDays(-30);
            DateTime endTime = DateTime.Now;
            var usages = await profile.GetNetworkUsageAsync(startTime,
                endTime, DataUsageGranularity.Total, networkUsageStates);
            if (usages != null)
            {
                foreach (var use in usages)
                {
                    //Data usage.
                    var TotalDataUsage = use.BytesReceived + use.BytesSent;
                }
            }
        }
    }
}
catch (Exception e)
{
    Debug.WriteLine(e.Message);
}

Вы можете настроить различные DataUsageGranularity и NetworkUsageStates, чтобы получить требуемое использование данных.

Но для ваших сведений об использовании , поскольку приложение UWP запускается в изолированной среде, вы не можете получить подробную информацию, и в UWP нет соответствующих API.

...