Как программно показать использование данных всеми приложениями?

На Android 4.0 и выше у нас есть опции контроля использования данных в телефоне. Пожалуйста, проверьте прилагаемый снимок экрана для дальнейшего понимания.

http://developer.android.com/about/versions/android-4.0-highlights.html

Теперь у меня есть требование проверить эти данные (использование данных всех приложений в определенный период времени / определенные дни) из моего приложения. Как мне этого добиться? Я также использую приведенный ниже класс для деталей использования сети.

http://developer.oesf.biz/em/developer/reference/eggplant/android/net/NetworkStatsHistory.html

Пожалуйста, проверьте ссылки ниже изображения. Мне нужно разработать такое же приложение.

http://developer.android.com/sdk/images/4.0/usage-all-lg.png

http://developer.android.com/sdk/images/4.0/usage-maps-lg.png

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

Я использую приведенный ниже код для списка установленных приложений на устройстве.

private ArrayList<PInfo> getInstalledApps(boolean getSysPackages) {
    ArrayList<PInfo> res = new ArrayList<PInfo>();

    List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);

    for (int i=0; i<packs.size(); i++) {
        PackageInfo p = packs.get(i);
        if ((!getSysPackages) && (p.versionName == null)) {
            continue ;
        }
        PInfo newInfo = new PInfo();
        newInfo.setAppname(p.applicationInfo.loadLabel(getPackageManager()).toString());
        newInfo.setPname(p.packageName);
        newInfo.setVersionName(p.versionName);
        newInfo.setVersionCode(p.versionCode);
        newInfo.setIcon(p.applicationInfo.loadIcon(getPackageManager()));

        res.add(newInfo);
    }
    return res;
}

Как узнать, какие данные используются каждым приложением?

На самом деле мне нужно решение, которое дает данные об использовании приложений за определенный промежуток времени, то есть между двумя днями.