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

На 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;
}

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

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

Ответы на вопрос(3)

Ваш ответ на вопрос